Skip to content

Commit

Permalink
Add test case for break expr with misspelled value
Browse files Browse the repository at this point in the history
Update src/test/ui/loops/loop-break-value.rs

Co-authored-by: Ivan Tham <pickfire@riseup.net>
  • Loading branch information
sasurau4 and pickfire committed Dec 17, 2020
1 parent 7b9ee11 commit e9ca290
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 2 deletions.
18 changes: 18 additions & 0 deletions src/test/ui/label/label_misspelled.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
fn main() {
'LOOP: loop {
LOOP;
//~^ ERROR cannot find value `LOOP` in this scope
};
'while_loop: while true { //~ WARN denote infinite loops with
while_loop;
//~^ ERROR cannot find value `while_loop` in this scope
};
'while_let: while let Some(_) = Some(()) {
while_let;
//~^ ERROR cannot find value `while_let` in this scope
}
'for_loop: for _ in 0..3 {
for_loop;
//~^ ERROR cannot find value `for_loop` in this scope
};
}
47 changes: 47 additions & 0 deletions src/test/ui/label/label_misspelled.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
error[E0425]: cannot find value `LOOP` in this scope
--> $DIR/label_misspelled.rs:3:9
|
LL | LOOP;
| ^^^^
| |
| not found in this scope
| help: a label with a similar name exists: `'LOOP`

error[E0425]: cannot find value `while_loop` in this scope
--> $DIR/label_misspelled.rs:7:9
|
LL | while_loop;
| ^^^^^^^^^^
| |
| not found in this scope
| help: a label with a similar name exists: `'while_loop`

error[E0425]: cannot find value `while_let` in this scope
--> $DIR/label_misspelled.rs:11:9
|
LL | while_let;
| ^^^^^^^^^
| |
| not found in this scope
| help: a label with a similar name exists: `'while_let`

error[E0425]: cannot find value `for_loop` in this scope
--> $DIR/label_misspelled.rs:15:9
|
LL | for_loop;
| ^^^^^^^^
| |
| not found in this scope
| help: a label with a similar name exists: `'for_loop`

warning: denote infinite loops with `loop { ... }`
--> $DIR/label_misspelled.rs:6:5
|
LL | 'while_loop: while true {
| ^^^^^^^^^^^^^^^^^^^^^^^ help: use `loop`
|
= note: `#[warn(while_true)]` on by default

error: aborting due to 4 previous errors; 1 warning emitted

For more information about this error, try `rustc --explain E0425`.
6 changes: 6 additions & 0 deletions src/test/ui/loops/loop-break-value.rs
Original file line number Diff line number Diff line change
Expand Up @@ -90,4 +90,10 @@ fn main() {
break; //~ ERROR mismatched types
break 4;
};

'LOOP: for _ in 0 .. 9 {
break LOOP;
//~^ ERROR cannot find value `LOOP` in this scope
//~| ERROR `break` with value from a `for` loop
}
}
24 changes: 22 additions & 2 deletions src/test/ui/loops/loop-break-value.stderr
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
error[E0425]: cannot find value `LOOP` in this scope
--> $DIR/loop-break-value.rs:95:15
|
LL | break LOOP;
| ^^^^
| |
| not found in this scope
| help: a label with a similar name exists: `'LOOP`

warning: denote infinite loops with `loop { ... }`
--> $DIR/loop-break-value.rs:26:5
|
Expand Down Expand Up @@ -94,6 +103,17 @@ help: instead, use `break` on its own without a value inside this `for` loop
LL | break;
| ^^^^^

error[E0571]: `break` with value from a `for` loop
--> $DIR/loop-break-value.rs:95:9
|
LL | break LOOP;
| ^^^^^^^^^^ can only break with a value inside `loop` or breakable block
|
help: instead, use `break` on its own without a value inside this `for` loop
|
LL | break;
| ^^^^^

error[E0308]: mismatched types
--> $DIR/loop-break-value.rs:4:31
|
Expand Down Expand Up @@ -151,7 +171,7 @@ LL | break;
| expected integer, found `()`
| help: give it a value of the expected type: `break value`

error: aborting due to 16 previous errors; 1 warning emitted
error: aborting due to 18 previous errors; 1 warning emitted

Some errors have detailed explanations: E0308, E0571.
Some errors have detailed explanations: E0308, E0425, E0571.
For more information about an error, try `rustc --explain E0308`.

0 comments on commit e9ca290

Please sign in to comment.