]> git.lizzy.rs Git - rust.git/commitdiff
make the nil-enum test work again
authorJorge Aparicio <jorge@japaric.io>
Sat, 1 Sep 2018 18:13:13 +0000 (20:13 +0200)
committerJorge Aparicio <jorge@japaric.io>
Sat, 22 Sep 2018 19:01:21 +0000 (21:01 +0200)
src/test/debuginfo/nil-enum.rs

index 94377421c0b0c9927a039b26970371581d959315..ab9c7e2dd2758a5d4dec1827be9c915f7fef0848 100644 (file)
@@ -8,6 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
+// NOTE Instantiating an empty enum is UB. This test may break in the future.
+
 // LLDB can't handle zero-sized values
 // ignore-lldb
 
 
 #![allow(unused_variables)]
 #![feature(omit_gdb_pretty_printer_section)]
+#![feature(maybe_uninit)]
 #![omit_gdb_pretty_printer_section]
 
+use std::mem::MaybeUninit;
+
 enum ANilEnum {}
 enum AnotherNilEnum {}
 
@@ -35,8 +40,8 @@ enum AnotherNilEnum {}
 // The error from gdbr is expected since nil enums are not supposed to exist.
 fn main() {
     unsafe {
-        let first: ANilEnum = ::std::mem::zeroed();
-        let second: AnotherNilEnum = ::std::mem::zeroed();
+        let first: ANilEnum = MaybeUninit::uninitialized().into_inner();
+        let second: AnotherNilEnum = MaybeUninit::uninitialized().into_inner();
 
         zzz(); // #break
     }