7
7
8
8
enum LargeEnum {
9
9
A ( i32 ) ,
10
- B ( [ i32 ; 8000 ] ) , //~ ERROR large enum variant found on variant `B`
10
+ B ( [ i32 ; 8000 ] ) , //~ ERROR large enum variant found
11
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
12
+ //~| SUGGESTION Box<[i32; 8000]>
11
13
}
12
14
13
15
enum GenericEnum < T > {
14
16
A ( i32 ) ,
15
- B ( [ i32 ; 8000 ] ) , //~ ERROR large enum variant found on variant `B`
17
+ B ( [ i32 ; 8000 ] ) , //~ ERROR large enum variant found
18
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
19
+ //~| SUGGESTION Box<[i32; 8000]>
16
20
C ( [ T ; 8000 ] ) ,
17
- D ( T , [ i32 ; 8000 ] ) , //~ ERROR large enum variant found on variant `D`
21
+ D ( T , [ i32 ; 8000 ] ) , //~ ERROR large enum variant found
22
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
18
23
}
19
24
20
25
trait SomeTrait {
@@ -27,11 +32,21 @@ enum LargeEnumGeneric<A: SomeTrait> {
27
32
28
33
enum AnotherLargeEnum {
29
34
VariantOk ( i32 , u32 ) ,
30
- ContainingLargeEnum ( LargeEnum ) , //~ ERROR large enum variant found on variant `ContainingLargeEnum`
31
- ContainingMoreThanOneField ( i32 , [ i32 ; 8000 ] , [ i32 ; 9500 ] ) , //~ ERROR large enum variant found on variant `ContainingMoreThanOneField`
35
+ ContainingLargeEnum ( LargeEnum ) , //~ ERROR large enum variant found
36
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
37
+ //~| SUGGESTION Box<LargeEnum>
38
+ ContainingMoreThanOneField ( i32 , [ i32 ; 8000 ] , [ i32 ; 9500 ] ) , //~ ERROR large enum variant found
39
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
32
40
VoidVariant ,
33
41
StructLikeLittle { x : i32 , y : i32 } ,
34
- StructLikeLarge { x : [ i32 ; 8000 ] , y : i32 } , //~ ERROR large enum variant found on variant `StructLikeLarge`
42
+ StructLikeLarge { x : [ i32 ; 8000 ] , y : i32 } , //~ ERROR large enum variant found
43
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
44
+ StructLikeLarge2 {
45
+ x :
46
+ [ i32 ; 8000 ] //~ SUGGESTION Box<[i32; 8000]>
47
+ } ,
48
+ //~^ ERROR large enum variant found
49
+ //~^ HELP consider boxing the large fields to reduce the total size of the enum
35
50
}
36
51
37
52
fn main ( ) {
0 commit comments