error[E0308]: mismatched types --> $DIR/match-struct.rs:6:9 | LL | match (S { a: 1 }) { | ------------ this expression has type `S` LL | E::C(_) => (), | ^^^^^^^ expected `S`, found `E` error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.