-error: expected type, found `3`
- --> $DIR/struct-literal-in-if.rs:13:12
+error: struct literals are not allowed here
+ --> $DIR/struct-literal-in-if.rs:12:8
|
-LL | x: 3
- | ^ expecting a type here because of type ascription
+LL | if Foo {
+ | ________^
+LL | | x: 3
+LL | | }.hi() {
+ | |_____^
|
- = note: type ascription is a nightly-only feature that lets you annotate an expression with a type: `<expr>: <type>`
-note: this expression expects an ascribed type after the colon
- --> $DIR/struct-literal-in-if.rs:13:9
+help: surround the struct literal with parentheses
|
+LL | if (Foo {
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 | }).hi() {
|
-LL | if Foo {
- | ^^^ did you mean `(Foo { /* fields */ })`?
-error: aborting due to 3 previous errors
+error: aborting due to previous error
-For more information about this error, try `rustc --explain E0423`.