error[E0004]: non-exhaustive patterns: type `EmptyNonExhaustiveEnum` is non-empty --> $DIR/enum.rs:7:11 | LL | match x {} | ^ | note: `EmptyNonExhaustiveEnum` defined here --> $DIR/auxiliary/enums.rs:18:1 | LL | pub enum EmptyNonExhaustiveEnum {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: the matched value is of type `EmptyNonExhaustiveEnum`, which is marked as non-exhaustive help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown | LL ~ match x { LL + _ => todo!(), LL ~ } | error[E0004]: non-exhaustive patterns: `_` not covered --> $DIR/enum.rs:16:11 | LL | match enum_unit { | ^^^^^^^^^ pattern `_` not covered | note: `NonExhaustiveEnum` defined here --> $DIR/auxiliary/enums.rs:4:1 | LL | / pub enum NonExhaustiveEnum { LL | | Unit, LL | | Tuple(u32), LL | | Struct { field: u32 }, LL | | } | |_^ = note: the matched value is of type `NonExhaustiveEnum`, which is marked as non-exhaustive help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown | LL ~ NonExhaustiveEnum::Struct { .. } => "third", LL + _ => todo!() | error[E0004]: non-exhaustive patterns: `_` not covered --> $DIR/enum.rs:23:11 | LL | match enum_unit {}; | ^^^^^^^^^ pattern `_` not covered | note: `NonExhaustiveEnum` defined here --> $DIR/auxiliary/enums.rs:4:1 | LL | / pub enum NonExhaustiveEnum { LL | | Unit, LL | | Tuple(u32), LL | | Struct { field: u32 }, LL | | } | |_^ = note: the matched value is of type `NonExhaustiveEnum`, which is marked as non-exhaustive help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown | LL ~ match enum_unit { LL + _ => todo!(), LL ~ }; | error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0004`.