diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/non-fmt-panic.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/non-fmt-panic.rs')
-rw-r--r-- | src/test/ui/non-fmt-panic.rs | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/src/test/ui/non-fmt-panic.rs b/src/test/ui/non-fmt-panic.rs deleted file mode 100644 index d0d06b797..000000000 --- a/src/test/ui/non-fmt-panic.rs +++ /dev/null @@ -1,89 +0,0 @@ -// run-rustfix -// rustfix-only-machine-applicable -// build-pass (FIXME(62277): should be check-pass) -// aux-build:fancy-panic.rs - -extern crate fancy_panic; - -const C: &str = "abc {}"; -static S: &str = "{bla}"; - -#[allow(unreachable_code)] -fn main() { - panic!("here's a brace: {"); //~ WARN panic message contains a brace - unreachable!("here's a brace: {"); //~ WARN panic message contains a brace - std::panic!("another one: }"); //~ WARN panic message contains a brace - core::panic!("Hello {}"); //~ WARN panic message contains an unused formatting placeholder - assert!(false, "{:03x} {test} bla"); - //~^ WARN panic message contains unused formatting placeholders - assert!(false, S); - //~^ WARN panic message is not a string literal - assert!(false, 123); - //~^ WARN panic message is not a string literal - assert!(false, Some(123)); - //~^ WARN panic message is not a string literal - debug_assert!(false, "{{}} bla"); //~ WARN panic message contains braces - panic!(C); //~ WARN panic message is not a string literal - panic!(S); //~ WARN panic message is not a string literal - unreachable!(S); //~ WARN panic message is not a string literal - unreachable!(S); //~ WARN panic message is not a string literal - std::panic!(123); //~ WARN panic message is not a string literal - core::panic!(&*"abc"); //~ WARN panic message is not a string literal - panic!(Some(123)); //~ WARN panic message is not a string literal - panic!(concat!("{", "}")); //~ WARN panic message contains an unused formatting placeholder - panic!(concat!("{", "{")); //~ WARN panic message contains braces - - fancy_panic::fancy_panic!("test {} 123"); - //~^ WARN panic message contains an unused formatting placeholder - - fancy_panic::fancy_panic!(); // OK - fancy_panic::fancy_panic!(S); // OK - - macro_rules! a { - () => { 123 }; - } - - panic!(a!()); //~ WARN panic message is not a string literal - unreachable!(a!()); //~ WARN panic message is not a string literal - - panic!(format!("{}", 1)); //~ WARN panic message is not a string literal - unreachable!(format!("{}", 1)); //~ WARN panic message is not a string literal - assert!(false, format!("{}", 1)); //~ WARN panic message is not a string literal - debug_assert!(false, format!("{}", 1)); //~ WARN panic message is not a string literal - - panic![123]; //~ WARN panic message is not a string literal - panic!{123}; //~ 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 { - ($e:expr) => (); - } - panic!("{}"); // OK - panic!(S); // OK - - a(1); - b(1); - c(1); - d(1); -} - -fn a<T: Send + 'static>(v: T) { - panic!(v); //~ WARN panic message is not a string literal - assert!(false, v); //~ WARN panic message is not a string literal -} - -fn b<T: std::fmt::Debug + Send + 'static>(v: T) { - panic!(v); //~ WARN panic message is not a string literal - assert!(false, v); //~ WARN panic message is not a string literal -} - -fn c<T: std::fmt::Display + Send + 'static>(v: T) { - panic!(v); //~ WARN panic message is not a string literal - assert!(false, v); //~ WARN panic message is not a string literal -} - -fn d<T: std::fmt::Display + std::fmt::Debug + Send + 'static>(v: T) { - panic!(v); //~ WARN panic message is not a string literal - assert!(false, v); //~ WARN panic message is not a string literal -} |