summaryrefslogtreecommitdiffstats
path: root/src/test/ui/consts/const-eval/double_check2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/consts/const-eval/double_check2.rs')
-rw-r--r--src/test/ui/consts/const-eval/double_check2.rs32
1 files changed, 0 insertions, 32 deletions
diff --git a/src/test/ui/consts/const-eval/double_check2.rs b/src/test/ui/consts/const-eval/double_check2.rs
deleted file mode 100644
index 81f5dde45..000000000
--- a/src/test/ui/consts/const-eval/double_check2.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-// check-pass
-
-// This test exhibits undefined behavior, but it is very expensive and complex to check for such
-// UB in constants.
-// Thus, we do not detect it if you create references to statics in ways that are UB.
-
-enum Foo {
- A = 5,
- B = 42,
-}
-enum Bar {
- C = 42,
- D = 99,
-}
-#[repr(C)]
-union Union {
- foo: &'static Foo,
- bar: &'static Bar,
- u8: &'static u8,
-}
-static BAR: u8 = 5;
-static FOO: (&Foo, &Bar) = unsafe {
- (
- // undefined behavior
- Union { u8: &BAR }.foo,
- Union { u8: &BAR }.bar,
- )
-};
-static FOO2: (&Foo, &Bar) = unsafe { (std::mem::transmute(&BAR), std::mem::transmute(&BAR)) };
-//^ undefined behavior
-
-fn main() {}