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> {}
134 large_enum_variant!();