rust/tests/ui/issues/issue-27042.stderr
Esteban Küber 4b15959218 Add context to let: Ty = loop { break };
We weren't accounting for the case where `break` was immediately within
the `loop` block.
2023-09-26 23:46:10 +00:00

55 lines
1.6 KiB
Text

warning: denote infinite loops with `loop { ... }`
--> $DIR/issue-27042.rs:8:9
|
LL | / 'b:
LL | |
LL | | while true { break }; // but here we cite the whole loop
| |__________________^ help: use `loop`
|
= note: `#[warn(while_true)]` on by default
error[E0308]: mismatched types
--> $DIR/issue-27042.rs:6:16
|
LL | let _: i32 =
| - expected because of this assignment
LL | 'a: // in this case, the citation is just the `break`:
LL | loop { break };
| ---- ^^^^^ expected `i32`, found `()`
| |
| this loop is expected to be of type `i32`
|
help: give it a value of the expected type
|
LL | loop { break 42 };
| ++
error[E0308]: mismatched types
--> $DIR/issue-27042.rs:8:9
|
LL | let _: i32 =
| --- expected due to this
LL | / 'b:
LL | |
LL | | while true { break }; // but here we cite the whole loop
| |____________________________^ expected `i32`, found `()`
error[E0308]: mismatched types
--> $DIR/issue-27042.rs:12:9
|
LL | / 'c:
LL | | for _ in None { break }; // but here we cite the whole loop
| |_______________________________^ expected `i32`, found `()`
error[E0308]: mismatched types
--> $DIR/issue-27042.rs:15:9
|
LL | let _: i32 =
| --- expected due to this
LL | / 'd:
LL | | while let Some(_) = None { break };
| |__________________________________________^ expected `i32`, found `()`
error: aborting due to 4 previous errors; 1 warning emitted
For more information about this error, try `rustc --explain E0308`.