about summary refs log tree commit diff
path: root/tests/ui/fmt/format-string-error-2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/fmt/format-string-error-2.rs')
-rw-r--r--tests/ui/fmt/format-string-error-2.rs86
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/ui/fmt/format-string-error-2.rs b/tests/ui/fmt/format-string-error-2.rs
new file mode 100644
index 00000000000..1f7f0d8f6be
--- /dev/null
+++ b/tests/ui/fmt/format-string-error-2.rs
@@ -0,0 +1,86 @@
+// ignore-tidy-tab
+
+fn main() {
+    format!("{
+    a");
+    //~^ ERROR invalid format string
+    format!("{ \
+               \
+    b");
+    //~^ ERROR invalid format string
+    format!(r#"{ \
+
+    rawc"#);
+    //~^^^ ERROR invalid format string
+    format!(r#"{ \n
+\n
+    rawd"#);
+    //~^^^ ERROR invalid format string
+    format!("{ \n
+\n
+    e");
+    //~^ ERROR invalid format string
+    format!("
+    {
+    a");
+    //~^ ERROR invalid format string
+    format!("
+    {
+    a
+    ");
+    //~^^ ERROR invalid format string
+    format!("  \
+    { \
+    	\
+    b");
+    //~^ ERROR invalid format string
+    format!("  \
+    { \
+    	\
+    b \
+      \
+    ");
+    //~^^^ ERROR invalid format string
+    format!(r#"
+raw  { \
+       \
+    c"#);
+    //~^^^ ERROR invalid format string
+    format!(r#"
+raw  { \n
+\n
+    d"#);
+    //~^^^ ERROR invalid format string
+    format!("
+  { \n
+\n
+    e");
+    //~^ ERROR invalid format string
+
+    format!("
+    {asdf
+    }
+    ", asdf=1);
+    // ok - this is supported
+    format!("
+    {
+    asdf}
+    ", asdf=1);
+    //~^^ ERROR invalid format string
+    println!("\t{}");
+    //~^ ERROR 1 positional argument in format string
+
+    // note: `\x7B` is `{`
+    println!("\x7B}\u{8} {", 1);
+    //~^ ERROR invalid format string: expected `'}'` but string was terminated
+
+    println!("\x7B}\u8 {", 1);
+    //~^ ERROR incorrect unicode escape sequence
+
+    // note: raw strings don't escape `\xFF` and `\u{FF}` sequences
+    println!(r#"\x7B}\u{8} {"#, 1);
+    //~^ ERROR invalid format string: unmatched `}` found
+
+    println!(r#"\x7B}\u8 {"#, 1);
+    //~^ ERROR invalid format string: unmatched `}` found
+}