diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-11-18 20:24:54 +0200 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2017-11-18 20:52:38 +0200 |
| commit | 9deea47c9605f77d3d595744753704bfd74c0dc9 (patch) | |
| tree | a3c0e2afa11487fb8ae4fd0cf70c2ce1cfacd56b /src/test | |
| parent | fab2532ef949a08e16b621259a91d1ff37165665 (diff) | |
| download | rust-9deea47c9605f77d3d595744753704bfd74c0dc9.tar.gz rust-9deea47c9605f77d3d595744753704bfd74c0dc9.zip | |
rustc_mir: always downcast enums, even if univariant.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/enum-univariant-repr.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/test/run-pass/enum-univariant-repr.rs b/src/test/run-pass/enum-univariant-repr.rs index ef4cc60bf0d..17d614b5496 100644 --- a/src/test/run-pass/enum-univariant-repr.rs +++ b/src/test/run-pass/enum-univariant-repr.rs @@ -22,6 +22,11 @@ enum UnivariantWithoutDescr { Y } +#[repr(u8)] +enum UnivariantWithData { + Z(u8), +} + pub fn main() { { assert_eq!(4, mem::size_of::<Univariant>()); @@ -44,4 +49,12 @@ pub fn main() { // check it has the same memory layout as u16 assert_eq!(&[descr, descr, descr], ints); } + + { + assert_eq!(2, mem::size_of::<UnivariantWithData>()); + + match UnivariantWithData::Z(4) { + UnivariantWithData::Z(x) => assert_eq!(x, 4), + } + } } |
