error: expected expression, found `+` --> $DIR/expr-as-stmt.rs:8:9 | LL | {2} + {2} | ^ expected expression | help: parentheses are required to parse this as an expression | LL | ({2}) + {2} | + + error: leading `+` is not supported --> $DIR/expr-as-stmt.rs:13:9 | LL | {2} + 2 | ^ unexpected `+` | help: parentheses are required to parse this as an expression | LL | ({2}) + 2 | + + error: expected expression, found `+` --> $DIR/expr-as-stmt.rs:19:12 | LL | { 42 } + foo; | ^ expected expression | help: parentheses are required to parse this as an expression | LL | ({ 42 }) + foo; | + + error: expected expression, found `>` --> $DIR/expr-as-stmt.rs:32:7 | LL | } > 0 | ^ expected expression | help: parentheses are required to parse this as an expression | LL ~ (match x { LL | _ => 1, LL ~ }) > 0 | error: expected parameter name, found `{` --> $DIR/expr-as-stmt.rs:41:16 | LL | { true } | { true } | ^ expected parameter name | help: parentheses are required to parse this as an expression | LL | ({ true }) | { true } | + + error: expected expression, found `+` --> $DIR/expr-as-stmt.rs:69:26 | LL | match () { () => 1 } + match () { () => 1 } | ^ expected expression | help: parentheses are required to parse this as an expression | LL | (match () { () => 1 }) + match () { () => 1 } | + + error: expected expression, found `+` --> $DIR/expr-as-stmt.rs:75:18 | LL | unsafe { 1 } + unsafe { 1 } | ^ expected expression | help: parentheses are required to parse this as an expression | LL | (unsafe { 1 }) + unsafe { 1 } | + + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:64:7 | LL | { foo() } || { true } | ^^^^^- help: consider using a semicolon here: `;` | | | expected `()`, found `i32` error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:8:6 | LL | {2} + {2} | ^ expected `()`, found integer | help: you might have meant to return this value | LL | {return 2;} + {2} | ++++++ + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:13:6 | LL | {2} + 2 | ^ expected `()`, found integer | help: you might have meant to return this value | LL | {return 2;} + 2 | ++++++ + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:19:7 | LL | { 42 } + foo; | ^^ expected `()`, found integer | help: you might have meant to return this value | LL | { return 42; } + foo; | ++++++ + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:25:7 | LL | { 3 } * 3 | ^ expected `()`, found integer | help: you might have meant to return this value | LL | { return 3; } * 3 | ++++++ + error[E0614]: type `{integer}` cannot be dereferenced --> $DIR/expr-as-stmt.rs:25:11 | LL | { 3 } * 3 | ^^^ | help: parentheses are required to parse this as an expression | LL | ({ 3 }) * 3 | + + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:36:6 | LL | {2} - 2 | ^ expected `()`, found integer | help: you might have meant to return this value | LL | {return 2;} - 2 | ++++++ + error[E0600]: cannot apply unary operator `-` to type `u32` --> $DIR/expr-as-stmt.rs:36:9 | LL | {2} - 2 | ^^^ cannot apply unary operator `-` | help: parentheses are required to parse this as an expression | LL | ({2}) - 2 | + + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:41:7 | LL | { true } | { true } | ^^^^ expected `()`, found `bool` | help: you might have meant to return this value | LL | { return true; } | { true } | ++++++ + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:46:7 | LL | { true } && { true } | ^^^^ expected `()`, found `bool` | help: you might have meant to return this value | LL | { return true; } && { true } | ++++++ + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:46:14 | LL | fn revenge_from_mars() -> bool { | ---- expected `bool` because of return type LL | { true } && { true } | ^^^^^^^^^^^ expected `bool`, found `&&bool` | help: parentheses are required to parse this as an expression | LL | ({ true }) && { true } | + + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:51:7 | LL | { true } || { true } | ^^^^ expected `()`, found `bool` | help: you might have meant to return this value | LL | { return true; } || { true } | ++++++ + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:51:14 | LL | fn attack_from_mars() -> bool { | ---- expected `bool` because of return type LL | { true } || { true } | ^^^^^^^^^^^ expected `bool`, found closure | = note: expected type `bool` found closure `{closure@$DIR/expr-as-stmt.rs:51:14: 51:16}` help: parentheses are required to parse this as an expression | LL | ({ true }) || { true } | + + error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:69:5 | LL | match () { () => 1 } + match () { () => 1 } | ^^^^^^^^^^^^^^^^^^^^- help: consider using a semicolon here | | | expected `()`, found integer error[E0308]: mismatched types --> $DIR/expr-as-stmt.rs:75:14 | LL | unsafe { 1 } + unsafe { 1 } | ^ expected `()`, found integer | help: you might have meant to return this value | LL | unsafe { return 1; } + unsafe { 1 } | ++++++ + error: aborting due to 22 previous errors Some errors have detailed explanations: E0308, E0600, E0614. For more information about an error, try `rustc --explain E0308`.