error: `x @` is not allowed in a tuple struct --> $DIR/issue-74539.rs:8:14 | LL | E::A(x @ ..) => { | ^^^^^^ this is only allowed in slice patterns | = help: remove this and bind each tuple field independently help: if you don't need to use the contents of x, discard the tuple's remaining fields | LL | E::A(..) => { | ^^ error: `..` patterns are not allowed here --> $DIR/issue-74539.rs:8:18 | LL | E::A(x @ ..) => { | ^^ | = note: only allowed in tuple, tuple struct, and slice patterns error[E0023]: this pattern has 1 field, but the corresponding tuple variant has 2 fields --> $DIR/issue-74539.rs:8:9 | LL | A(u8, u8), | --------- tuple variant defined here ... LL | E::A(x @ ..) => { | ^^^^^^^^^^^^ expected 2 fields, found 1 | help: use `_` to explicitly ignore each field | LL | E::A(x @ .., _) => { | ^^^ error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0023`.