@@ -13,7 +13,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
1313 pub fn unit < C : HasDataLayout > ( cx : & C , sized : bool ) -> Self {
1414 let dl = cx. data_layout ( ) ;
1515 LayoutData {
16- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
16+ variants : Variants :: Single { index : VariantIdx :: new ( 0 ) , variants : None } ,
1717 fields : FieldsShape :: Arbitrary {
1818 offsets : IndexVec :: new ( ) ,
1919 memory_index : IndexVec :: new ( ) ,
@@ -33,7 +33,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
3333 let dl = cx. data_layout ( ) ;
3434 // This is also used for uninhabited enums, so we use `Variants::Empty`.
3535 LayoutData {
36- variants : Variants :: Empty ,
36+ variants : Variants :: Empty { variants : None } ,
3737 fields : FieldsShape :: Primitive ,
3838 backend_repr : BackendRepr :: Memory { sized : true } ,
3939 largest_niche : None ,
@@ -75,7 +75,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
7575 . wrapping_add ( ( range. end as u64 ) . rotate_right ( 16 ) ) ;
7676
7777 LayoutData {
78- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
78+ variants : Variants :: Single { index : VariantIdx :: new ( 0 ) , variants : None } ,
7979 fields : FieldsShape :: Primitive ,
8080 backend_repr : BackendRepr :: Scalar ( scalar) ,
8181 largest_niche,
@@ -105,7 +105,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
105105 let combined_seed = a. size ( dl) . bytes ( ) . wrapping_add ( b. size ( dl) . bytes ( ) ) ;
106106
107107 LayoutData {
108- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
108+ variants : Variants :: Single { index : VariantIdx :: new ( 0 ) , variants : None } ,
109109 fields : FieldsShape :: Arbitrary {
110110 offsets : [ Size :: ZERO , b_offset] . into ( ) ,
111111 memory_index : [ 0 , 1 ] . into ( ) ,
@@ -121,14 +121,14 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
121121 }
122122 }
123123
124- /// Returns a dummy layout for an uninhabited variant.
124+ /// Returns a dummy layout for an absent variant.
125125 ///
126- /// Uninhabited variants get pruned as part of the layout calculation,
126+ /// Absent variants get pruned as part of the layout calculation,
127127 /// so this can be used after the fact to reconstitute a layout.
128- pub fn uninhabited_variant < C : HasDataLayout > ( cx : & C , index : VariantIdx , fields : usize ) -> Self {
128+ pub fn absent_variant < C : HasDataLayout > ( cx : & C , index : VariantIdx , fields : usize ) -> Self {
129129 let dl = cx. data_layout ( ) ;
130130 LayoutData {
131- variants : Variants :: Single { index } ,
131+ variants : Variants :: Single { index, variants : None } ,
132132 fields : match NonZero :: new ( fields) {
133133 Some ( fields) => FieldsShape :: Union ( fields) ,
134134 None => FieldsShape :: Arbitrary {
0 commit comments