| error[E0308]: mismatched types | 
 |   --> $DIR/invalid.rs:120:21 | 
 |    | | 
 | LL |                     break 'blk; | 
 |    |                     ^^^^^^^^^^ expected `State`, found `()` | 
 |    | | 
 | help: give the `break` a value of the expected type | 
 |    | | 
 | LL |                     break 'blk /* value */; | 
 |    |                                +++++++++++ | 
 |  | 
 | error[E0695]: unlabeled `break` inside of a labeled block | 
 |   --> $DIR/invalid.rs:154:25 | 
 |    | | 
 | LL |                         break State::A; | 
 |    |                         ^^^^^^^^^^^^^^ `break` statements that would diverge to or through a labeled block need to bear a label | 
 |  | 
 | error: invalid update of the `#[loop_match]` state | 
 |   --> $DIR/invalid.rs:18:9 | 
 |    | | 
 | LL |         fake = 'blk: { | 
 |    |         ^^^^ | 
 | LL | | 
 | LL |             match state { | 
 |    |                   ----- the assignment must update this variable | 
 |  | 
 | error: invalid match on `#[loop_match]` state | 
 |   --> $DIR/invalid.rs:32:19 | 
 |    | | 
 | LL |             match State::A { | 
 |    |                   ^^^^^^^^ | 
 |    | | 
 |    = note: a local variable must be the scrutinee within a `#[loop_match]` | 
 |  | 
 | error: statements are not allowed in this position within a `#[loop_match]` | 
 |   --> $DIR/invalid.rs:44:9 | 
 |    | | 
 | LL |         1; | 
 |    |         ^^ | 
 |  | 
 | error: statements are not allowed in this position within a `#[loop_match]` | 
 |   --> $DIR/invalid.rs:59:13 | 
 |    | | 
 | LL |             1; | 
 |    |             ^^ | 
 |  | 
 | error: this expression must be a single `match` wrapped in a labeled block | 
 |   --> $DIR/invalid.rs:72:17 | 
 |    | | 
 | LL |         state = State::B | 
 |    |                 ^^^^^^^^ | 
 |  | 
 | error: this expression must be a single `match` wrapped in a labeled block | 
 |   --> $DIR/invalid.rs:82:13 | 
 |    | | 
 | LL |             State::B | 
 |    |             ^^^^^^^^ | 
 |  | 
 | error: this expression must be a single `match` wrapped in a labeled block | 
 |   --> $DIR/invalid.rs:92:17 | 
 |    | | 
 | LL |           state = 'blk: { | 
 |    |  _________________^ | 
 | LL | | | 
 | LL | |         } | 
 |    | |_________^ | 
 |  | 
 | error: expected a single assignment expression | 
 |   --> $DIR/invalid.rs:101:9 | 
 |    | | 
 | LL |         () | 
 |    |         ^^ | 
 |  | 
 | error: expected a single assignment expression | 
 |   --> $DIR/invalid.rs:107:10 | 
 |    | | 
 | LL |       loop { | 
 |    |  __________^ | 
 | LL | | | 
 | LL | |     } | 
 |    | |_____^ | 
 |  | 
 | error: a `#[const_continue]` must break to a label with a value | 
 |   --> $DIR/invalid.rs:137:21 | 
 |    | | 
 | LL |                     break 'blk; | 
 |    |                     ^^^^^^^^^^ | 
 |  | 
 | error: a `#[const_continue]` must break to a label with a value | 
 |   --> $DIR/invalid.rs:154:25 | 
 |    | | 
 | LL |                         break State::A; | 
 |    |                         ^^^^^^^^^^^^^^ | 
 |  | 
 | error: match arms that are part of a `#[loop_match]` cannot have guards | 
 |   --> $DIR/invalid.rs:174:29 | 
 |    | | 
 | LL |                 State::B if cond => break 'a, | 
 |    |                             ^^^^ | 
 |  | 
 | error[E0004]: non-exhaustive patterns: `State::B` and `State::C` not covered | 
 |   --> $DIR/invalid.rs:187:19 | 
 |    | | 
 | LL |             match state { | 
 |    |                   ^^^^^ patterns `State::B` and `State::C` not covered | 
 |    | | 
 | note: `State` defined here | 
 |   --> $DIR/invalid.rs:7:6 | 
 |    | | 
 | LL | enum State { | 
 |    |      ^^^^^ | 
 | LL |     A, | 
 | LL |     B, | 
 |    |     - not covered | 
 | LL |     C, | 
 |    |     - not covered | 
 |    = note: the matched value is of type `State` | 
 | help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern, a match arm with multiple or-patterns as shown, or multiple match arms | 
 |    | | 
 | LL ~                 State::A => State::B, | 
 | LL ~                 State::B | State::C => todo!(), | 
 |    | | 
 |  | 
 | error[E0579]: lower range bound must be less than upper | 
 |   --> $DIR/invalid.rs:204:17 | 
 |    | | 
 | LL |                 4.0..3.0 => { | 
 |    |                 ^^^^^^^^ | 
 |  | 
 | error: aborting due to 16 previous errors | 
 |  | 
 | Some errors have detailed explanations: E0004, E0308, E0579, E0695. | 
 | For more information about an error, try `rustc --explain E0004`. |