rust/tests/compile-fail/invalid_enum_discriminant.rs

18 lines
352 B
Rust
Raw Normal View History

// Validation makes this fail in the wrong place
// compile-flags: -Zmir-emit-validate=0
2016-06-22 04:11:51 -05:00
#[repr(C)]
pub enum Foo {
A, B, C, D
}
fn main() {
let f = unsafe { std::mem::transmute::<i32, Foo>(42) };
2018-08-25 04:07:21 -05:00
match f { //~ ERROR invalid enum discriminant
Foo::A => {},
2016-06-22 04:11:51 -05:00
Foo::B => {},
Foo::C => {},
Foo::D => {},
}
2018-08-25 04:07:21 -05:00
}