]> git.lizzy.rs Git - rust.git/blob - tests/ui/default_union_representation.rs
Auto merge of #8374 - Alexendoo:bless-revisions, r=camsteffen
[rust.git] / tests / ui / default_union_representation.rs
1 #![feature(transparent_unions)]
2 #![warn(clippy::default_union_representation)]
3
4 union NoAttribute {
5     a: i32,
6     b: u32,
7 }
8
9 #[repr(C)]
10 union ReprC {
11     a: i32,
12     b: u32,
13 }
14
15 #[repr(packed)]
16 union ReprPacked {
17     a: i32,
18     b: u32,
19 }
20
21 #[repr(C, packed)]
22 union ReprCPacked {
23     a: i32,
24     b: u32,
25 }
26
27 #[repr(C, align(32))]
28 union ReprCAlign {
29     a: i32,
30     b: u32,
31 }
32
33 #[repr(align(32))]
34 union ReprAlign {
35     a: i32,
36     b: u32,
37 }
38
39 union SingleZST {
40     f0: (),
41 }
42 union ZSTsAndField1 {
43     f0: u32,
44     f1: (),
45     f2: (),
46     f3: (),
47 }
48 union ZSTsAndField2 {
49     f0: (),
50     f1: (),
51     f2: u32,
52     f3: (),
53 }
54 union ZSTAndTwoFields {
55     f0: u32,
56     f1: u64,
57     f2: (),
58 }
59
60 #[repr(C)]
61 union CZSTAndTwoFields {
62     f0: u32,
63     f1: u64,
64     f2: (),
65 }
66
67 #[repr(transparent)]
68 union ReprTransparent {
69     a: i32,
70 }
71
72 #[repr(transparent)]
73 union ReprTransparentZST {
74     a: i32,
75     b: (),
76 }
77
78 fn main() {}