2021-09-30 11:45:03 +00:00
|
|
|
#![allow(clippy::assertions_on_constants)]
|
|
|
|
#![allow(clippy::eq_op)]
|
|
|
|
#![warn(clippy::format_in_format_args)]
|
|
|
|
#![warn(clippy::to_string_in_format_args)]
|
|
|
|
|
|
|
|
use std::io::{stdout, Error, ErrorKind, Write};
|
|
|
|
use std::ops::Deref;
|
|
|
|
use std::panic::Location;
|
|
|
|
|
|
|
|
macro_rules! my_macro {
|
|
|
|
() => {
|
|
|
|
// here be dragons, do not enter (or lint)
|
|
|
|
println!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
macro_rules! my_other_macro {
|
|
|
|
() => {
|
|
|
|
format!("something failed at {}", Location::caller())
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let error = Error::new(ErrorKind::Other, "bad thing");
|
|
|
|
let x = 'x';
|
|
|
|
|
|
|
|
println!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
println!("{}: {}", error, format!("something failed at {}", Location::caller()));
|
|
|
|
println!("{:?}: {}", error, format!("something failed at {}", Location::caller()));
|
|
|
|
println!("{{}}: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
println!(r#"error: "{}""#, format!("something failed at {}", Location::caller()));
|
|
|
|
println!("error: {}", format!(r#"something failed at "{}""#, Location::caller()));
|
|
|
|
println!("error: {}", format!("something failed at {} {0}", Location::caller()));
|
|
|
|
let _ = format!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
let _ = write!(
|
|
|
|
stdout(),
|
|
|
|
"error: {}",
|
|
|
|
format!("something failed at {}", Location::caller())
|
|
|
|
);
|
|
|
|
let _ = writeln!(
|
|
|
|
stdout(),
|
|
|
|
"error: {}",
|
|
|
|
format!("something failed at {}", Location::caller())
|
|
|
|
);
|
|
|
|
print!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
eprint!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
eprintln!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
let _ = format_args!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
assert!(true, "error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
assert_eq!(0, 0, "error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
assert_ne!(0, 0, "error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
panic!("error: {}", format!("something failed at {}", Location::caller()));
|
|
|
|
|
2021-11-01 23:16:37 +00:00
|
|
|
// negative tests
|
2021-09-30 11:45:03 +00:00
|
|
|
println!("error: {}", format_args!("something failed at {}", Location::caller()));
|
|
|
|
println!("error: {:>70}", format!("something failed at {}", Location::caller()));
|
|
|
|
println!("error: {} {0}", format!("something failed at {}", Location::caller()));
|
|
|
|
println!("{} and again {0}", format!("hi {}", x));
|
|
|
|
my_macro!();
|
|
|
|
println!("error: {}", my_other_macro!());
|
|
|
|
}
|