]> git.lizzy.rs Git - rust.git/blob - src/test/ui/structs-enums/nonzero-enum.rs
Rollup merge of #93112 - pietroalbini:pa-cve-2022-21658-nightly, r=pietroalbini
[rust.git] / src / test / ui / structs-enums / nonzero-enum.rs
1 // run-pass
2 #![allow(dead_code)]
3 use std::mem::size_of;
4
5 enum E {
6     A = 1,
7     B = 2,
8     C = 3,
9 }
10
11 struct S {
12     a: u16,
13     b: u8,
14     e: E,
15 }
16
17 fn main() {
18     assert_eq!(size_of::<E>(), 1);
19     assert_eq!(size_of::<Option<E>>(), 1);
20     assert_eq!(size_of::<Result<E, ()>>(), 1);
21     assert_eq!(size_of::<Option<S>>(), size_of::<S>());
22     let enone = None::<E>;
23     let esome = Some(E::A);
24     if let Some(..) = enone {
25         panic!();
26     }
27     if let None = esome {
28         panic!();
29     }
30 }