2018-08-30 14:18:55 +02:00
|
|
|
// run-pass
|
2019-03-22 17:19:12 +01:00
|
|
|
|
2017-11-03 19:15:15 +00:00
|
|
|
#[non_exhaustive]
|
|
|
|
pub enum NonExhaustiveEnum {
|
|
|
|
Unit,
|
|
|
|
Tuple(u32),
|
|
|
|
Struct { field: u32 }
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let enum_unit = NonExhaustiveEnum::Unit;
|
|
|
|
|
|
|
|
match enum_unit {
|
|
|
|
NonExhaustiveEnum::Unit => "first",
|
|
|
|
NonExhaustiveEnum::Tuple(_) => "second",
|
|
|
|
NonExhaustiveEnum::Struct { .. } => "third",
|
|
|
|
};
|
|
|
|
}
|