error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:9:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = ({ LL | LL | 1 LL ~ }) else { | error: `for...else` loops are not supported --> $DIR/bad-let-else-statement.rs:18:7 | LL | let foo = for i in 1..2 { | --- `else` is attached to this loop LL | break; LL | } else { | _______^ LL | | LL | | return; LL | | }; | |_____^ | = note: consider moving this `else` clause to a separate `if` statement and use a `bool` variable to control if it should run error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:30:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = (if true { LL | ... LL | 0 LL ~ }) else { | error: `loop...else` loops are not supported --> $DIR/bad-let-else-statement.rs:39:7 | LL | let foo = loop { | ---- `else` is attached to this loop LL | break; LL | } else { | _______^ LL | | LL | | return; LL | | }; | |_____^ | = note: consider moving this `else` clause to a separate `if` statement and use a `bool` variable to control if it should run error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:50:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = (match true { LL | LL | true => 1, LL | false => 0 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:61:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = (X { LL | LL | a: 1 LL ~ }) else { | error: `while...else` loops are not supported --> $DIR/bad-let-else-statement.rs:70:7 | LL | let foo = while false { | ----- `else` is attached to this loop LL | break; LL | } else { | _______^ LL | | LL | | return; LL | | }; | |_____^ | = note: consider moving this `else` clause to a separate `if` statement and use a `bool` variable to control if it should run error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:80:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = (const { LL | LL | 1 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:90:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = &({ LL | LL | 1 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:101:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = bar = ({ LL | LL | 1 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:111:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = 1 + ({ LL | LL | 1 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:121:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = 1..({ LL | LL | 1 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:131:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = return ({ LL | LL | () LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:141:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = -({ LL | LL | 1 LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:151:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = do yeet ({ LL | LL | () LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:161:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = become ({ LL | LL | () LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:171:5 | LL | } else { | ^ | help: wrap the expression in parentheses | LL ~ let foo = |x: i32| ({ LL | LL | x LL ~ }) else { | error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:181:31 | LL | let bad = format_args! {""} else { return; }; | ^ | help: use parentheses instead of braces for this macro | LL | let bad = format_args! ("") else { return; }; | ~ ~ error: right curly brace `}` before `else` in a `let...else` statement not allowed --> $DIR/bad-let-else-statement.rs:198:25 | LL | let x = a! {} else { return; }; | ^ ... LL | b!(1); b!(2); | ----- in this macro invocation | = note: this error originates in the macro `b` (in Nightly builds, run with -Z macro-backtrace for more info) help: use parentheses instead of braces for this macro | LL | let x = a! () else { return; }; | ~~ warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:6:5 | LL | / let foo = { LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause = note: `#[warn(irrefutable_let_patterns)]` on by default warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:25:5 | LL | / let foo = if true { LL | | LL | | 1 LL | | } else { LL | | 0 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:46:5 | LL | / let foo = match true { LL | | LL | | true => 1, LL | | false => 0 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:58:5 | LL | / let foo = X { LL | | LL | | a: 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:77:5 | LL | / let foo = const { LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:87:5 | LL | / let foo = &{ LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:98:5 | LL | / let foo = bar = { LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause error[E0384]: cannot assign twice to immutable variable `bar` --> $DIR/bad-let-else-statement.rs:98:15 | LL | let bar = 0; | --- | | | first assignment to `bar` | help: consider making this binding mutable: `mut bar` LL | let foo = bar = { | _______________^ LL | | LL | | 1 LL | | } else { | |_____^ cannot assign twice to immutable variable warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:108:5 | LL | / let foo = 1 + { LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:118:5 | LL | / let foo = 1..{ LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:128:5 | LL | / let foo = return { LL | | LL | | () LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:138:5 | LL | / let foo = -{ LL | | LL | | 1 LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:148:5 | LL | / let foo = do yeet { LL | | LL | | () LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:158:5 | LL | / let foo = become { LL | | LL | | () LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:168:5 | LL | / let foo = |x: i32| { LL | | LL | | x LL | | } else { | |_____^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:178:5 | LL | let ok = format_args!("") else { return; }; | ^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:181:5 | LL | let bad = format_args! {""} else { return; }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:188:19 | LL | () => { {} } | ___________________^ LL | | LL | | LL | | } ... | LL | | (1) => { LL | | let x = a!() else { return; }; | |____________^ ... LL | b!(1); b!(2); | ----- in this macro invocation | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause = note: this warning originates in the macro `b` (in Nightly builds, run with -Z macro-backtrace for more info) warning: irrefutable `let...else` pattern --> $DIR/bad-let-else-statement.rs:188:19 | LL | () => { {} } | ___________________^ LL | | LL | | LL | | } ... | LL | | (2) => { LL | | let x = a! {} else { return; }; | |____________^ ... LL | b!(1); b!(2); | ----- in this macro invocation | = note: this pattern will always match, so the `else` clause is useless = help: consider removing the `else` clause = note: this warning originates in the macro `b` (in Nightly builds, run with -Z macro-backtrace for more info) error: aborting due to 20 previous errors; 18 warnings emitted For more information about this error, try `rustc --explain E0384`.