mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
71 lines
2.0 KiB
Rust
71 lines
2.0 KiB
Rust
//@revisions: edition2018 edition2021 edition2024
|
|
//@[edition2018] edition:2018
|
|
//@[edition2021] edition:2021
|
|
//@[edition2024] edition:2024
|
|
|
|
#![warn(clippy::uninlined_format_args)]
|
|
#![allow(clippy::literal_string_with_formatting_args)]
|
|
|
|
fn main() {
|
|
let var = 1;
|
|
|
|
println!("val='{}'", var);
|
|
//~^ uninlined_format_args
|
|
|
|
if var > 0 {
|
|
panic!("p1 {}", var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
}
|
|
if var > 0 {
|
|
panic!("p2 {0}", var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
}
|
|
if var > 0 {
|
|
panic!("p3 {var}", var = var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
}
|
|
|
|
#[allow(non_fmt_panics)]
|
|
{
|
|
if var > 0 {
|
|
panic!("p4 {var}");
|
|
}
|
|
}
|
|
|
|
assert!(var == 1, "p5 {}", var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
debug_assert!(var == 1, "p6 {}", var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
|
|
// core::panic! with format string containing text: should warn on 2021+ (issue #16411)
|
|
if var > 0 {
|
|
core::panic!("p7 {}", var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
}
|
|
if var > 0 {
|
|
core::panic!("p8 {0}", var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
}
|
|
if var > 0 {
|
|
core::panic!("p9 {var}", var = var);
|
|
//~[edition2021]^ uninlined_format_args
|
|
//~[edition2024]^^ uninlined_format_args
|
|
}
|
|
|
|
// std::panic! and core::panic! with only "{}" format string: false negative due to
|
|
// panic_display special case in panic_2021 macro - no format_args node is created
|
|
if var > 0 {
|
|
std::panic!("{}", var);
|
|
}
|
|
if var > 0 {
|
|
core::panic!("{}", var);
|
|
}
|
|
}
|