1 // aux-build:macro_rules.rs
4 #![allow(unused_variables)]
5 #![warn(clippy::large_enum_variant)]
8 extern crate macro_rules;
15 enum GenericEnumOk<T> {
20 enum GenericEnum2<T> {
30 enum LargeEnumGeneric<A: SomeTrait> {
36 ContainingLargeEnum(LargeEnum),
40 ContainingMoreThanOneField(i32, [i32; 8000], [i32; 9500]),
42 StructLikeLittle { x: i32, y: i32 },
47 StructLikeLarge { x: [i32; 8000], y: i32 },
52 StructLikeLarge2 { x: [i32; 8000] },
74 ContainingMoreThanOneField([i32; 8000], [i32; 2], [i32; 9500], [i32; 30]),
82 enum LargeEnumOk2<T> {
87 enum LargeEnumOk3<T> {
101 #[derive(Copy, Clone)]
102 enum CopyableLargeEnum {
107 enum ManuallyCopyLargeEnum {
112 impl Clone for ManuallyCopyLargeEnum {
113 fn clone(&self) -> Self {
118 impl Copy for ManuallyCopyLargeEnum {}
120 enum SomeGenericPossiblyCopyEnum<T> {
121 A(bool, std::marker::PhantomData<T>),
125 impl<T: Copy> Clone for SomeGenericPossiblyCopyEnum<T> {
126 fn clone(&self) -> Self {
131 impl<T: Copy> Copy for SomeGenericPossiblyCopyEnum<T> {}
133 enum LargeEnumWithGenerics<T> {
135 Large((T, [u8; 512])),
143 Large([Foo<u64>; 64]),
147 enum PossiblyLargeEnumWithConst<const U: usize> {
148 SmallBuffer([u8; 4]),
149 MightyBuffer([u16; U]),
152 enum LargeEnumOfConst {
154 Error(PossiblyLargeEnumWithConst<256>),
158 large_enum_variant!();