summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/const-eval/union-ub.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/const-eval/union-ub.rs')
-rw-r--r--src/test/ui/consts/const-eval/union-ub.rs43
1 files changed, 0 insertions, 43 deletions
diff --git a/src/test/ui/consts/const-eval/union-ub.rs b/src/test/ui/consts/const-eval/union-ub.rs
deleted file mode 100644
index 043870c9c..000000000
--- a/src/test/ui/consts/const-eval/union-ub.rs
+++ /dev/null
@@ -1,43 +0,0 @@
-// stderr-per-bitwidth
-
-#[repr(C)]
-union DummyUnion {
- unit: (),
- u8: u8,
- bool: bool,
-}
-
-#[repr(C)]
-#[derive(Copy, Clone)]
-enum Enum {
- A,
- B,
- C,
-}
-
-#[derive(Copy, Clone)]
-#[repr(C)]
-union Foo {
- a: bool,
- b: Enum,
-}
-
-#[repr(C)]
-union Bar {
- foo: Foo,
- u8: u8,
-}
-
-// the value is not valid for bools
-const BAD_BOOL: bool = unsafe { DummyUnion { u8: 42 }.bool};
-//~^ ERROR it is undefined behavior to use this value
-const UNINIT_BOOL: bool = unsafe { DummyUnion { unit: () }.bool};
-//~^ ERROR evaluation of constant value failed
-//~| uninitialized
-
-// The value is not valid for any union variant, but that's fine
-// unions are just a convenient way to transmute bits around
-const BAD_UNION: Foo = unsafe { Bar { u8: 42 }.foo };
-
-
-fn main() {}