summaryrefslogtreecommitdiffstats
path: root/tests/ui/fmt/incorrect-separator.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/fmt/incorrect-separator.rs')
-rw-r--r--tests/ui/fmt/incorrect-separator.rs29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/ui/fmt/incorrect-separator.rs b/tests/ui/fmt/incorrect-separator.rs
new file mode 100644
index 000000000..b8d2e4a34
--- /dev/null
+++ b/tests/ui/fmt/incorrect-separator.rs
@@ -0,0 +1,29 @@
+// Allows to track issue #75492:
+// https://github.com/rust-lang/rust/issues/75492
+
+use std::iter;
+
+fn main() {
+ format!("A number: {}". iter::once(42).next().unwrap());
+ //~^ ERROR expected `,`, found `.`
+
+ // Other kind of types are also checked:
+
+ format!("A number: {}" / iter::once(42).next().unwrap());
+ //~^ ERROR expected `,`, found `/`
+
+ format!("A number: {}"; iter::once(42).next().unwrap());
+ //~^ ERROR expected `,`, found `;`
+
+ // Note: this character is an COMBINING COMMA BELOW unicode char
+ format!("A number: {}" ̦ iter::once(42).next().unwrap());
+ //~^ ERROR expected `,`, found `iter`
+ //~^^ ERROR unknown start of token: \u{326}
+
+ // Here recovery is tested.
+ // If the `compile_error!` is emitted, then the parser is able to recover
+ // from the incorrect first separator.
+ format!("{}". compile_error!("fail"));
+ //~^ ERROR expected `,`, found `.`
+ //~^^ ERROR fail
+}