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
!();