rust/src/test/ui/macros/format-parse-errors.rs
Esteban Küber 33ec1823d7 Specific error for positional args after named args in format!()
When writing positional arguments after named arguments in the
`format!()` and `println!()` macros, provide a targeted diagnostic.
2019-07-15 20:51:32 -07:00

17 lines
638 B
Rust

fn main() {
let foo = "";
let bar = "";
format!(); //~ ERROR requires at least a format string argument
format!(struct); //~ ERROR expected expression
format!("s", name =); //~ ERROR expected expression
format!(
"s {foo} {} {}",
foo = foo,
bar, //~ ERROR positional arguments cannot follow named arguments
);
format!("s {foo}", foo = struct); //~ ERROR expected expression
format!("s", struct); //~ ERROR expected expression
// This error should come after parsing errors to ensure they are non-fatal.
format!(123); //~ ERROR format argument must be a string literal
}