error: expected type, found `3` --> $DIR/struct-literal-in-if.rs:13:12 | LL | x: 3 | ^ expecting a type here because of type ascription | = note: type ascription is a nightly-only feature that lets you annotate an expression with a type: `: ` note: this expression expects an ascribed type after the colon --> $DIR/struct-literal-in-if.rs:13:9 | LL | x: 3 | ^ = help: this might be indicative of a syntax error elsewhere error: expected one of `.`, `;`, `?`, `}`, or an operator, found `{` --> $DIR/struct-literal-in-if.rs:14:12 | LL | }.hi() { | ^ expected one of `.`, `;`, `?`, `}`, or an operator here error[E0423]: expected value, found struct `Foo` --> $DIR/struct-literal-in-if.rs:12:8 | LL | if Foo { | ^^^ did you mean `(Foo { /* fields */ })`? error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0423`.