error: a `&&` expression cannot be directly assigned in `let...else` --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:9:19 | LL | let Some(n) = opt && n == 1 else { | ^^^^^^^^^^^^^ | help: wrap the expression in parentheses | LL | let Some(n) = (opt && n == 1) else { | + + error: expected expression, found `let` statement --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:15:26 | LL | let Some(n) = opt && let another = n else { | ^^^ error: a `&&` expression cannot be directly assigned in `let...else` --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:15:19 | LL | let Some(n) = opt && let another = n else { | ^^^^^^^^^^^^^^^^^^^^^^ | help: wrap the expression in parentheses | LL | let Some(n) = (opt && let another = n) else { | + + error: this `if` expression is missing a block after the condition --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:24:5 | LL | if let Some(n) = opt else { | ^^ | help: add a block here --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:24:25 | LL | if let Some(n) = opt else { | ^ error: this `if` expression is missing a block after the condition --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:28:5 | LL | if let Some(n) = opt && n == 1 else { | ^^ | help: add a block here --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:28:35 | LL | if let Some(n) = opt && n == 1 else { | ^ error: this `if` expression is missing a block after the condition --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:32:5 | LL | if let Some(n) = opt && let another = n else { | ^^ | help: add a block here --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:32:44 | LL | if let Some(n) = opt && let another = n else { | ^ error: expected `{`, found keyword `else` --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:38:33 | LL | while let Some(n) = opt else { | ----- ----------------- ^^^^ expected `{` | | | | | this `while` condition successfully parsed | while parsing the body of this `while` expression error: expected `{`, found keyword `else` --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:44:43 | LL | while let Some(n) = opt && n == 1 else { | ----- --------------------------- ^^^^ expected `{` | | | | | this `while` condition successfully parsed | while parsing the body of this `while` expression error: expected `{`, found keyword `else` --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:50:52 | LL | while let Some(n) = opt && let another = n else { | ----- ------------------------------------ ^^^^ expected `{` | | | | | this `while` condition successfully parsed | while parsing the body of this `while` expression error: `let` expressions are not supported here --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:15:26 | LL | let Some(n) = opt && let another = n else { | ^^^^^^^^^^^^^^^ | = note: only supported directly in conditions of `if` and `while` expressions error[E0308]: mismatched types --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:9:19 | LL | let Some(n) = opt && n == 1 else { | ^^^ expected `bool`, found enum `Option` | = note: expected type `bool` found enum `Option` error[E0308]: mismatched types --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:9:9 | LL | let Some(n) = opt && n == 1 else { | ^^^^^^^ ------------- this expression has type `bool` | | | expected `bool`, found enum `Option` | = note: expected type `bool` found enum `Option<_>` error[E0308]: mismatched types --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:15:19 | LL | let Some(n) = opt && let another = n else { | ^^^ expected `bool`, found enum `Option` | = note: expected type `bool` found enum `Option` error[E0308]: mismatched types --> $DIR/ensure-that-let-else-does-not-interact-with-let-chains.rs:15:9 | LL | let Some(n) = opt && let another = n else { | ^^^^^^^ ---------------------- this expression has type `bool` | | | expected `bool`, found enum `Option` | = note: expected type `bool` found enum `Option<_>` error: aborting due to 14 previous errors For more information about this error, try `rustc --explain E0308`.