about summary refs log tree commit diff
path: root/tests/ui/label/label_misspelled.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/label/label_misspelled.rs')
-rw-r--r--tests/ui/label/label_misspelled.rs62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/ui/label/label_misspelled.rs b/tests/ui/label/label_misspelled.rs
new file mode 100644
index 00000000000..e3180b06ecb
--- /dev/null
+++ b/tests/ui/label/label_misspelled.rs
@@ -0,0 +1,62 @@
+#![warn(unused_labels)]
+
+fn main() {
+    'while_loop: while true { //~ WARN denote infinite loops with
+        //~^ WARN unused label
+        while_loop;
+        //~^ ERROR cannot find value `while_loop` in this scope
+    };
+    'while_let: while let Some(_) = Some(()) {
+        //~^ WARN unused label
+        while_let;
+        //~^ ERROR cannot find value `while_let` in this scope
+    }
+    'for_loop: for _ in 0..3 {
+        //~^ WARN unused label
+        for_loop;
+        //~^ ERROR cannot find value `for_loop` in this scope
+    };
+    'LOOP: loop {
+        //~^ WARN unused label
+        LOOP;
+        //~^ ERROR cannot find value `LOOP` in this scope
+    };
+}
+
+fn foo() {
+    'LOOP: loop {
+        break LOOP;
+        //~^ ERROR cannot find value `LOOP` in this scope
+    };
+    'while_loop: while true { //~ WARN denote infinite loops with
+        break while_loop;
+        //~^ ERROR cannot find value `while_loop` in this scope
+    };
+    'while_let: while let Some(_) = Some(()) {
+        break while_let;
+        //~^ ERROR cannot find value `while_let` in this scope
+    }
+    'for_loop: for _ in 0..3 {
+        break for_loop;
+        //~^ ERROR cannot find value `for_loop` in this scope
+    };
+}
+
+fn bar() {
+    let foo = ();
+    'while_loop: while true { //~ WARN denote infinite loops with
+        //~^ WARN unused label
+        break foo;
+        //~^ ERROR `break` with value from a `while` loop
+    };
+    'while_let: while let Some(_) = Some(()) {
+        //~^ WARN unused label
+        break foo;
+        //~^ ERROR `break` with value from a `while` loop
+    }
+    'for_loop: for _ in 0..3 {
+        //~^ WARN unused label
+        break foo;
+        //~^ ERROR `break` with value from a `for` loop
+    };
+}