-#![feature(plugin)]
-#![plugin(clippy)]
+// aux-build:macro_rules.rs
#![allow(dead_code)]
#![allow(unused_variables)]
-#![deny(large_enum_variant)]
+#![warn(clippy::large_enum_variant)]
+
+#[macro_use]
+extern crate macro_rules;
enum LargeEnum {
A(i32),
B([i32; 8000]),
+}
-
+enum GenericEnumOk<T> {
+ A(i32),
+ B([T; 8000]),
}
-enum GenericEnum<T> {
+enum GenericEnum2<T> {
A(i32),
B([i32; 8000]),
-
-
- C([T; 8000]),
- D(T, [i32; 8000]),
-
+ C(T, [i32; 8000]),
}
trait SomeTrait {
}
enum LargeEnumGeneric<A: SomeTrait> {
- Var(A::Item), // regression test, this used to ICE
+ Var(A::Item),
}
-enum AnotherLargeEnum {
+enum LargeEnum2 {
VariantOk(i32, u32),
ContainingLargeEnum(LargeEnum),
+}
-
+enum LargeEnum3 {
ContainingMoreThanOneField(i32, [i32; 8000], [i32; 9500]),
-
VoidVariant,
StructLikeLittle { x: i32, y: i32 },
+}
+
+enum LargeEnum4 {
+ VariantOk(i32, u32),
StructLikeLarge { x: [i32; 8000], y: i32 },
+}
- StructLikeLarge2 {
- x:
- [i32; 8000]
+enum LargeEnum5 {
+ VariantOk(i32, u32),
+ StructLikeLarge2 { x: [i32; 8000] },
+}
- },
+enum LargeEnumOk {
+ LargeA([i32; 8000]),
+ LargeB([i32; 8001]),
}
-fn main() {
+enum LargeEnum6 {
+ A,
+ B([u8; 255]),
+ C([u8; 200]),
+}
+enum LargeEnum7 {
+ A,
+ B([u8; 1255]),
+ C([u8; 200]),
+}
+
+enum LargeEnum8 {
+ VariantOk(i32, u32),
+ ContainingMoreThanOneField([i32; 8000], [i32; 2], [i32; 9500], [i32; 30]),
+}
+
+fn main() {
+ large_enum_variant!();
}