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 | loop { break }; | ^^^^^ | | | expected i32, found () | help: give it a value of the expected type: `break 42` | = note: expected type `i32` found type `()` error[E0308]: mismatched types --> $DIR/issue-27042.rs:8:9 | LL | / 'b: LL | | LL | | while true { break }; // but here we cite the whole loop | |____________________________^ expected i32, found () | = note: expected type `i32` found type `()` 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 () | = note: expected type `i32` found type `()` error[E0308]: mismatched types --> $DIR/issue-27042.rs:15:9 | LL | / 'd: LL | | while let Some(_) = None { break }; | |__________________________________________^ expected i32, found () | = note: expected type `i32` found type `()` error: aborting due to 4 previous errors For more information about this error, try `rustc --explain E0308`.