]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #78088 - fusion-engineering-forks:panic-fmt-lint, r=estebank
authorbors <bors@rust-lang.org>
Fri, 20 Nov 2020 03:40:20 +0000 (03:40 +0000)
committerbors <bors@rust-lang.org>
Fri, 20 Nov 2020 03:40:20 +0000 (03:40 +0000)
Add lint for panic!("{}")

This adds a lint that warns about `panic!("{}")`.

`panic!(msg)` invocations with a single argument use their argument as panic payload literally, without using it as a format string. The same holds for `assert!(expr, msg)`.

This lints checks if `msg` is a string literal (after expansion), and warns in case it contained braces. It suggests to insert `"{}", ` to use the message literally, or to add arguments to use it as a format string.

![image](https://user-images.githubusercontent.com/783247/96643867-79eb1080-1328-11eb-8d4e-a5586837c70a.png)

This lint is also a good starting point for adding warnings about `panic!(not_a_string)` later, once [`panic_any()`](https://github.com/rust-lang/rust/pull/74622) becomes a stable alternative.

1  2 
Cargo.lock

diff --cc Cargo.lock
Simple merge