diff --git a/src/test/run-pass/enum-discrim-manual-sizing-2.rs b/src/test/run-pass/enum-discrim-manual-sizing-2.rs index e10bd55fe9dfc..0c0c686e9da19 100644 --- a/src/test/run-pass/enum-discrim-manual-sizing-2.rs +++ b/src/test/run-pass/enum-discrim-manual-sizing-2.rs @@ -11,7 +11,7 @@ // Test that explicit discriminant sizing inhibits the non-nullable pointer // optimization in enum layout. -use std::mem::size_of; +use std::mem::{size_of, zeroed}; #[repr(i8)] enum Ei8 { @@ -103,4 +103,10 @@ pub fn main() { assert!(size_of::>() > size_of::()); assert!(size_of::>() > size_of::>()); + + let zero: &i32 = unsafe { zeroed() }; + assert!(match Eu8::_Some(zero) { + Eu8::_Some(_) => true, + Eu8::_None => false, + }); }