summaryrefslogtreecommitdiffstats
path: root/src/test/ui/label/label_misspelled.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/label/label_misspelled.rs')
-rw-r--r--src/test/ui/label/label_misspelled.rs62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/test/ui/label/label_misspelled.rs b/src/test/ui/label/label_misspelled.rs
new file mode 100644
index 000000000..e3180b06e
--- /dev/null
+++ b/src/test/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
+ };
+}