diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2021-02-14 18:17:34 +0100 |
|---|---|---|
| committer | Mara Bos <m-ou.se@m-ou.se> | 2021-02-14 18:17:34 +0100 |
| commit | 1abc1e2a43c116a87bd430fa14a86e67617b861a (patch) | |
| tree | 869ff93809a96dfa5e9df0af2007c5ddde71e79e | |
| parent | ef778e796502691ebfb1f3dd5c03248aea6d2ac8 (diff) | |
| download | rust-1abc1e2a43c116a87bd430fa14a86e67617b861a.tar.gz rust-1abc1e2a43c116a87bd430fa14a86e67617b861a.zip | |
Add test for non_fmt_panic lint for panic!(some_macro!()).
| -rw-r--r-- | src/test/ui/non-fmt-panic.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/non-fmt-panic.stderr | 18 |
2 files changed, 23 insertions, 1 deletions
diff --git a/src/test/ui/non-fmt-panic.rs b/src/test/ui/non-fmt-panic.rs index 25c53316e12..ff9e3b497f2 100644 --- a/src/test/ui/non-fmt-panic.rs +++ b/src/test/ui/non-fmt-panic.rs @@ -29,6 +29,12 @@ fn main() { fancy_panic::fancy_panic!(S); //~^ WARN panic message is not a string literal + macro_rules! a { + () => { 123 }; + } + + panic!(a!()); //~ WARN panic message is not a string literal + // Check that the lint only triggers for std::panic and core::panic, // not any panic macro: macro_rules! panic { diff --git a/src/test/ui/non-fmt-panic.stderr b/src/test/ui/non-fmt-panic.stderr index 45187c518c4..2f33f04cb19 100644 --- a/src/test/ui/non-fmt-panic.stderr +++ b/src/test/ui/non-fmt-panic.stderr @@ -183,5 +183,21 @@ LL | fancy_panic::fancy_panic!(S); | = note: this is no longer accepted in Rust 2021 -warning: 14 warnings emitted +warning: panic message is not a string literal + --> $DIR/non-fmt-panic.rs:36:12 + | +LL | panic!(a!()); + | ^^^^ + | + = note: this is no longer accepted in Rust 2021 +help: add a "{}" format string to Display the message + | +LL | panic!("{}", a!()); + | ^^^^^ +help: or use std::panic::panic_any instead + | +LL | std::panic::panic_any(a!()); + | ^^^^^^^^^^^^^^^^^^^^^^ + +warning: 15 warnings emitted |
