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