summaryrefslogtreecommitdiffstats
path: root/src/test/ui/non-fmt-panic.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-17 12:19:13 +0000
commit218caa410aa38c29984be31a5229b9fa717560ee (patch)
treec54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/non-fmt-panic.rs
parentReleasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-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.rs89
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
-}