]> git.lizzy.rs Git - rust.git/blob - tests/ui/large_enum_variant.rs
Merge remote-tracking branch 'upstream/beta' into backport_remerge
[rust.git] / tests / ui / large_enum_variant.rs
1 // aux-build:macro_rules.rs
2
3 #![allow(dead_code)]
4 #![allow(unused_variables)]
5 #![warn(clippy::large_enum_variant)]
6
7 #[macro_use]
8 extern crate macro_rules;
9
10 enum LargeEnum {
11     A(i32),
12     B([i32; 8000]),
13 }
14
15 enum GenericEnumOk<T> {
16     A(i32),
17     B([T; 8000]),
18 }
19
20 enum GenericEnum2<T> {
21     A(i32),
22     B([i32; 8000]),
23     C(T, [i32; 8000]),
24 }
25
26 trait SomeTrait {
27     type Item;
28 }
29
30 enum LargeEnumGeneric<A: SomeTrait> {
31     Var(A::Item),
32 }
33
34 enum LargeEnum2 {
35     VariantOk(i32, u32),
36     ContainingLargeEnum(LargeEnum),
37 }
38 enum LargeEnum3 {
39     ContainingMoreThanOneField(i32, [i32; 8000], [i32; 9500]),
40     VoidVariant,
41     StructLikeLittle { x: i32, y: i32 },
42 }
43
44 enum LargeEnum4 {
45     VariantOk(i32, u32),
46     StructLikeLarge { x: [i32; 8000], y: i32 },
47 }
48
49 enum LargeEnum5 {
50     VariantOk(i32, u32),
51     StructLikeLarge2 { x: [i32; 8000] },
52 }
53
54 enum LargeEnumOk {
55     LargeA([i32; 8000]),
56     LargeB([i32; 8001]),
57 }
58
59 fn main() {
60     large_enum_variant!();
61 }