| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:2:8 |
| | |
| LL | if Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if (Foo { x: 3 }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:5:19 |
| | |
| LL | if let true = Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if let true = (Foo { x: 3 }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:9:14 |
| | |
| LL | for x in Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | for x in (Foo { x: 3 }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:14:11 |
| | |
| LL | while Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | while (Foo { x: 3 }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:17:22 |
| | |
| LL | while let true = Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | while let true = (Foo { x: 3 }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:21:11 |
| | |
| LL | match Foo { x: 3 } { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | match (Foo { x: 3 }) { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:30:17 |
| | |
| LL | if x == E::I { field1: true, field2: 42 } {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if x == (E::I { field1: true, field2: 42 }) {} |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:32:17 |
| | |
| LL | if x == E::V { field: false } {} |
| | ^^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if x == (E::V { field: false }) {} |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:34:17 |
| | |
| LL | if x == E::J { field: -42 } {} |
| | ^^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if x == (E::J { field: -42 }) {} |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:36:17 |
| | |
| LL | if x == E::K { field: "" } {} |
| | ^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if x == (E::K { field: "" }) {} |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:43:14 |
| | |
| LL | while || Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | while || (Foo { x: 3 }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:53:8 |
| | |
| LL | if Foo { x: one(), }.hi() { |
| | ^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if (Foo { x: one(), }).hi() { |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:61:15 |
| | |
| LL | if FOO == self::Foo { x: one() } {} |
| | ^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if FOO == (self::Foo { x: one() }) {} |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:63:15 |
| | |
| LL | if FOO == Foo::<> { x: one() } {} |
| | ^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if FOO == (Foo::<> { x: one() }) {} |
| | + + |
| |
| error: struct literals are not allowed here |
| --> $DIR/struct-literals-in-invalid-places.rs:66:19 |
| | |
| LL | if FOO == <T as Trait>::Out { x: one() } {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| help: surround the struct literal with parentheses |
| | |
| LL | if FOO == (<T as Trait>::Out { x: one() }) {} |
| | + + |
| |
| error[E0658]: usage of qualified paths in this context is experimental |
| --> $DIR/struct-literals-in-invalid-places.rs:66:19 |
| | |
| LL | if FOO == <T as Trait>::Out { x: one() } {} |
| | ^^^^^^^^^^^^^^^^^ |
| | |
| = note: see issue #86935 <https://github.com/rust-lang/rust/issues/86935> for more information |
| = help: add `#![feature(more_qualified_paths)]` to the crate attributes to enable |
| = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date |
| |
| error[E0277]: `bool` is not an iterator |
| --> $DIR/struct-literals-in-invalid-places.rs:9:14 |
| | |
| LL | for x in Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^^^^^^ `bool` is not an iterator |
| | |
| = help: the trait `Iterator` is not implemented for `bool` |
| = note: required for `bool` to implement `IntoIterator` |
| |
| error[E0533]: expected value, found struct variant `E::V` |
| --> $DIR/struct-literals-in-invalid-places.rs:27:17 |
| | |
| LL | if x == E::V { field } {} |
| | ^^^^ not a value |
| | |
| help: you might have meant to create a new value of the struct |
| | |
| LL | if x == (E::V { field }) {} |
| | + + |
| |
| error[E0308]: mismatched types |
| --> $DIR/struct-literals-in-invalid-places.rs:27:24 |
| | |
| LL | if x == E::V { field } {} |
| | ---------------^^^^^-- |
| | | | |
| | | expected `()`, found `bool` |
| | expected this to be `()` |
| | |
| help: you might have meant to return this value |
| | |
| LL | if x == E::V { return field; } {} |
| | ++++++ + |
| |
| error[E0308]: mismatched types |
| --> $DIR/struct-literals-in-invalid-places.rs:38:24 |
| | |
| LL | let y: usize = (); |
| | ----- ^^ expected `usize`, found `()` |
| | | |
| | expected due to this |
| |
| error[E0308]: mismatched types |
| --> $DIR/struct-literals-in-invalid-places.rs:43:11 |
| | |
| LL | while || Foo { x: 3 }.hi() { |
| | ^^^^^^^^^^^^^^^^^^^^ expected `bool`, found closure |
| | |
| = note: expected type `bool` |
| found closure `{closure@$DIR/struct-literals-in-invalid-places.rs:43:11: 43:13}` |
| help: use parentheses to call this closure |
| | |
| LL | while (|| Foo { x: 3 }.hi())() { |
| | + +++ |
| |
| error: aborting due to 21 previous errors |
| |
| Some errors have detailed explanations: E0277, E0308, E0533, E0658. |
| For more information about an error, try `rustc --explain E0277`. |