diff options
Diffstat (limited to 'tests/ui/macros/format-parse-errors.rs')
-rw-r--r-- | tests/ui/macros/format-parse-errors.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/ui/macros/format-parse-errors.rs b/tests/ui/macros/format-parse-errors.rs new file mode 100644 index 000000000..ffa7a2817 --- /dev/null +++ b/tests/ui/macros/format-parse-errors.rs @@ -0,0 +1,17 @@ +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 +} |