2 #![allow(print_literal)]
3 #![warn(useless_format)]
5 struct Foo(pub String);
8 ($($t:tt)*) => (Foo(format!($($t)*)))
15 format!("{:?}", "foo"); // we only want to warn about `{}`
16 format!("{:+}", "foo"); // we only want to warn about `{}`
17 format!("foo {}", "bar");
18 format!("{} bar", "foo");
20 let arg: String = "".to_owned();
22 format!("{:?}", arg); // we only want to warn about `{}`
23 format!("{:+}", arg); // we only want to warn about `{}`
24 format!("foo {}", arg);
25 format!("{} bar", arg);
27 // we don’t want to warn for non-string args, see #697
31 format!("foo {}", 42);
32 format!("{} bar", 42);
34 // we only want to warn about `format!` itself
36 println!("{}", "foo");
37 println!("foo {}", "foo");
39 println!("foo {}", 42);
41 // A format! inside a macro should not trigger a warning
42 foo!("should not warn");