diff options
| author | Albert Larsan <74931857+albertlarsan68@users.noreply.github.com> | 2023-01-05 09:13:28 +0100 |
|---|---|---|
| committer | Albert Larsan <74931857+albertlarsan68@users.noreply.github.com> | 2023-01-11 09:32:08 +0000 |
| commit | cf2dff2b1e3fa55fa5415d524200070d0d7aacfe (patch) | |
| tree | 40a88d9a46aaf3e8870676eb2538378b75a263eb /tests/ui/structs-enums/enum-discrim-autosizing.rs | |
| parent | ca855e6e42787ecd062d81d53336fe6788ef51a9 (diff) | |
| download | rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.tar.gz rust-cf2dff2b1e3fa55fa5415d524200070d0d7aacfe.zip | |
Move /src/test to /tests
Diffstat (limited to 'tests/ui/structs-enums/enum-discrim-autosizing.rs')
| -rw-r--r-- | tests/ui/structs-enums/enum-discrim-autosizing.rs | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/ui/structs-enums/enum-discrim-autosizing.rs b/tests/ui/structs-enums/enum-discrim-autosizing.rs new file mode 100644 index 00000000000..f68fdda6053 --- /dev/null +++ b/tests/ui/structs-enums/enum-discrim-autosizing.rs @@ -0,0 +1,53 @@ +// run-pass +#![allow(dead_code)] +#![allow(overflowing_literals)] + +use std::mem::size_of; + +enum Ei8 { + Ai8 = -1, + Bi8 = 0 +} + +enum Eu8 { + Au8 = 0, + Bu8 = 0x80 +} + +enum Ei16 { + Ai16 = -1, + Bi16 = 0x80 +} + +enum Eu16 { + Au16 = 0, + Bu16 = 0x8000 +} + +enum Ei32 { + Ai32 = -1, + Bi32 = 0x8000 +} + +enum Eu32 { + Au32 = 0, + Bu32 = 0x8000_0000 +} + +enum Ei64 { + Ai64 = -1, + Bi64 = 0x8000_0000 +} + +pub fn main() { + assert_eq!(size_of::<Ei8>(), 1); + assert_eq!(size_of::<Eu8>(), 1); + assert_eq!(size_of::<Ei16>(), 2); + assert_eq!(size_of::<Eu16>(), 2); + assert_eq!(size_of::<Ei32>(), 4); + assert_eq!(size_of::<Eu32>(), 4); + #[cfg(target_pointer_width = "64")] + assert_eq!(size_of::<Ei64>(), 8); + #[cfg(target_pointer_width = "32")] + assert_eq!(size_of::<Ei64>(), 4); +} |
