@@ -12,7 +12,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
1212 pub fn unit < C : HasDataLayout > ( cx : & C , sized : bool ) -> Self {
1313 let dl = cx. data_layout ( ) ;
1414 LayoutData {
15- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
15+ variants : Variants :: Single { index : VariantIdx :: new ( 0 ) , variants : None } ,
1616 fields : FieldsShape :: Arbitrary {
1717 offsets : IndexVec :: new ( ) ,
1818 memory_index : IndexVec :: new ( ) ,
@@ -32,7 +32,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
3232 let dl = cx. data_layout ( ) ;
3333 // This is also used for uninhabited enums, so we use `Variants::Empty`.
3434 LayoutData {
35- variants : Variants :: Empty ,
35+ variants : Variants :: Empty { variants : None } ,
3636 fields : FieldsShape :: Primitive ,
3737 backend_repr : BackendRepr :: Memory { sized : true } ,
3838 largest_niche : None ,
@@ -74,7 +74,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
7474 . wrapping_add ( ( range. end as u64 ) . rotate_right ( 16 ) ) ;
7575
7676 LayoutData {
77- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
77+ variants : Variants :: Single { index : VariantIdx :: new ( 0 ) , variants : None } ,
7878 fields : FieldsShape :: Primitive ,
7979 backend_repr : BackendRepr :: Scalar ( scalar) ,
8080 largest_niche,
@@ -104,7 +104,7 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
104104 let combined_seed = a. size ( dl) . bytes ( ) . wrapping_add ( b. size ( dl) . bytes ( ) ) ;
105105
106106 LayoutData {
107- variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
107+ variants : Variants :: Single { index : VariantIdx :: new ( 0 ) , variants : None } ,
108108 fields : FieldsShape :: Arbitrary {
109109 offsets : [ Size :: ZERO , b_offset] . into ( ) ,
110110 memory_index : [ 0 , 1 ] . into ( ) ,
@@ -120,14 +120,14 @@ impl<FieldIdx: Idx, VariantIdx: Idx> LayoutData<FieldIdx, VariantIdx> {
120120 }
121121 }
122122
123- /// Returns a dummy layout for an uninhabited variant.
123+ /// Returns a dummy layout for an absent variant.
124124 ///
125- /// Uninhabited variants get pruned as part of the layout calculation,
125+ /// Absent variants get pruned as part of the layout calculation,
126126 /// so this can be used after the fact to reconstitute a layout.
127- pub fn uninhabited_variant < C : HasDataLayout > ( cx : & C , index : VariantIdx , fields : usize ) -> Self {
127+ pub fn absent_variant < C : HasDataLayout > ( cx : & C , index : VariantIdx , fields : usize ) -> Self {
128128 let dl = cx. data_layout ( ) ;
129129 LayoutData {
130- variants : Variants :: Single { index } ,
130+ variants : Variants :: Single { index, variants : None } ,
131131 fields : match NonZero :: new ( fields) {
132132 Some ( fields) => FieldsShape :: Union ( fields) ,
133133 None => FieldsShape :: Arbitrary {
0 commit comments