From 46e935d6be09a9444f968f81cce825dbef34dd9b Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Wed, 27 May 2015 00:04:41 +0200 Subject: [PATCH] Add a test for #[repr] as used in arrayvec --- src/test/run-pass/enum-discrim-manual-sizing-2.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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, + }); }