]> git.lizzy.rs Git - rust.git/blob - src/tools/miri/tests/fail/invalid_enum_tag.rs
add a weak form of protection that justifies Box noalias
[rust.git] / src / tools / miri / tests / fail / invalid_enum_tag.rs
1 // Validation makes this fail in the wrong place
2 // Make sure we find these even with many checks disabled.
3 //@compile-flags: -Zmiri-disable-alignment-check -Zmiri-disable-stacked-borrows -Zmiri-disable-validation
4
5 use std::mem;
6
7 #[repr(C)]
8 pub enum Foo {
9     A,
10     B,
11     C,
12     D,
13 }
14
15 fn main() {
16     let f = unsafe { std::mem::transmute::<i32, Foo>(42) };
17     let _val = mem::discriminant(&f); //~ERROR: enum value has invalid tag
18 }