@@ -43,7 +43,7 @@ pub trait LayoutCalculator {
43
43
. max_by_key ( |niche| niche. available ( dl) ) ;
44
44
45
45
LayoutS {
46
- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
46
+ variants : Variants :: Single { index : FIRST_VARIANT } ,
47
47
fields : FieldsShape :: Arbitrary {
48
48
offsets : vec ! [ Size :: ZERO , b_offset] ,
49
49
memory_index : vec ! [ 0 , 1 ] ,
@@ -264,7 +264,7 @@ pub trait LayoutCalculator {
264
264
abi = Abi :: Uninhabited ;
265
265
}
266
266
Some ( LayoutS {
267
- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
267
+ variants : Variants :: Single { index : FIRST_VARIANT } ,
268
268
fields : FieldsShape :: Arbitrary { offsets, memory_index } ,
269
269
abi,
270
270
largest_niche,
@@ -277,7 +277,7 @@ pub trait LayoutCalculator {
277
277
let dl = self . current_data_layout ( ) ;
278
278
let dl = dl. borrow ( ) ;
279
279
LayoutS {
280
- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
280
+ variants : Variants :: Single { index : FIRST_VARIANT } ,
281
281
fields : FieldsShape :: Primitive ,
282
282
abi : Abi :: Uninhabited ,
283
283
largest_niche : None ,
@@ -331,7 +331,7 @@ pub trait LayoutCalculator {
331
331
}
332
332
// If it's a struct, still compute a layout so that we can still compute the
333
333
// field offsets.
334
- None => VariantIdx :: new ( 0 ) ,
334
+ None => FIRST_VARIANT ,
335
335
} ;
336
336
337
337
let is_struct = !is_enum ||
@@ -467,7 +467,7 @@ pub trait LayoutCalculator {
467
467
. max_by_key ( |( _i, layout) | layout. size . bytes ( ) )
468
468
. map ( |( i, _layout) | i) ?;
469
469
470
- let all_indices = ( 0 ..= variants. len ( ) - 1 ) . map ( VariantIdx :: new ) ;
470
+ let all_indices = variants. indices ( ) ;
471
471
let needs_disc =
472
472
|index : VariantIdx | index != largest_variant_index && !absent ( & variants[ index] ) ;
473
473
let niche_variants = all_indices. clone ( ) . find ( |v| needs_disc ( * v) ) . unwrap ( ) . index ( )
@@ -896,8 +896,8 @@ pub trait LayoutCalculator {
896
896
let optimize = !repr. inhibit_union_abi_opt ( ) ;
897
897
let mut size = Size :: ZERO ;
898
898
let mut abi = Abi :: Aggregate { sized : true } ;
899
- let index = VariantIdx :: new ( 0 ) ;
900
- for field in & variants [ index ] {
899
+ let only_variant = & variants [ FIRST_VARIANT ] ;
900
+ for field in only_variant {
901
901
assert ! ( field. 0 . is_sized( ) ) ;
902
902
align = align. max ( field. align ( ) ) ;
903
903
@@ -930,8 +930,8 @@ pub trait LayoutCalculator {
930
930
}
931
931
932
932
Some ( LayoutS {
933
- variants : Variants :: Single { index } ,
934
- fields : FieldsShape :: Union ( NonZeroUsize :: new ( variants [ index ] . len ( ) ) ?) ,
933
+ variants : Variants :: Single { index : FIRST_VARIANT } ,
934
+ fields : FieldsShape :: Union ( NonZeroUsize :: new ( only_variant . len ( ) ) ?) ,
935
935
abi,
936
936
largest_niche : None ,
937
937
align,
0 commit comments