about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/parser/range-inclusive-extra-equals.rs10
-rw-r--r--src/test/ui/parser/range-inclusive-extra-equals.stderr10
2 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/parser/range-inclusive-extra-equals.rs b/src/test/ui/parser/range-inclusive-extra-equals.rs
new file mode 100644
index 00000000000..d41c0699cf7
--- /dev/null
+++ b/src/test/ui/parser/range-inclusive-extra-equals.rs
@@ -0,0 +1,10 @@
+// Makes sure that a helpful message is shown when someone mistypes
+// an inclusive range as `..==` rather than `..=`. This is an
+// easy mistake, because of the resemblance to`==`.
+// See #86395 for a bit of background.
+
+pub fn main() {
+    if let 1..==3 = 1 {} //~ERROR unexpected `=` after inclusive range
+                      //~|HELP use `..=` instead
+                      //~|NOTE inclusive ranges end with a single equals sign
+}
diff --git a/src/test/ui/parser/range-inclusive-extra-equals.stderr b/src/test/ui/parser/range-inclusive-extra-equals.stderr
new file mode 100644
index 00000000000..d37b6be4fa1
--- /dev/null
+++ b/src/test/ui/parser/range-inclusive-extra-equals.stderr
@@ -0,0 +1,10 @@
+error: unexpected `=` after inclusive range
+  --> $DIR/range-inclusive-extra-equals.rs:7:13
+   |
+LL |     if let 1..==3 = 1 {}
+   |             ^^^^ help: use `..=` instead
+   |
+   = note: inclusive ranges end with a single equals sign (`..=`)
+
+error: aborting due to previous error
+