@@ -229,7 +229,7 @@ enum StructKind {
229
229
// Invert a bijective mapping, i.e. `invert(map)[y] = x` if `map[x] = y`.
230
230
// This is used to go between `memory_index` (source field order to memory order)
231
231
// and `inverse_memory_index` (memory order to source field order).
232
- // See also `FieldPlacement ::Arbitrary::memory_index` for more details.
232
+ // See also `FieldsShape ::Arbitrary::memory_index` for more details.
233
233
// FIXME(eddyb) build a better abstraction for permutations, if possible.
234
234
fn invert_mapping ( map : & [ u32 ] ) -> Vec < u32 > {
235
235
let mut inverse = vec ! [ 0 ; map. len( ) ] ;
@@ -256,7 +256,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
256
256
257
257
Layout {
258
258
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
259
- fields : FieldPlacement :: Arbitrary {
259
+ fields : FieldsShape :: Arbitrary {
260
260
offsets : vec ! [ Size :: ZERO , b_offset] ,
261
261
memory_index : vec ! [ 0 , 1 ] ,
262
262
} ,
@@ -442,7 +442,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
442
442
} ;
443
443
let pair = self . scalar_pair ( a. clone ( ) , b. clone ( ) ) ;
444
444
let pair_offsets = match pair. fields {
445
- FieldPlacement :: Arbitrary { ref offsets, ref memory_index } => {
445
+ FieldsShape :: Arbitrary { ref offsets, ref memory_index } => {
446
446
assert_eq ! ( memory_index, & [ 0 , 1 ] ) ;
447
447
offsets
448
448
}
@@ -470,7 +470,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
470
470
471
471
Ok ( Layout {
472
472
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
473
- fields : FieldPlacement :: Arbitrary { offsets, memory_index } ,
473
+ fields : FieldsShape :: Arbitrary { offsets, memory_index } ,
474
474
abi,
475
475
largest_niche,
476
476
align,
@@ -519,7 +519,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
519
519
// The never type.
520
520
ty:: Never => tcx. intern_layout ( Layout {
521
521
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
522
- fields : FieldPlacement :: Union ( 0 ) ,
522
+ fields : FieldsShape :: Union ( 0 ) ,
523
523
abi : Abi :: Uninhabited ,
524
524
largest_niche : None ,
525
525
align : dl. i8_align ,
@@ -580,7 +580,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
580
580
581
581
tcx. intern_layout ( Layout {
582
582
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
583
- fields : FieldPlacement :: Array { stride : element. size , count } ,
583
+ fields : FieldsShape :: Array { stride : element. size , count } ,
584
584
abi,
585
585
largest_niche,
586
586
align : element. align ,
@@ -591,7 +591,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
591
591
let element = self . layout_of ( element) ?;
592
592
tcx. intern_layout ( Layout {
593
593
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
594
- fields : FieldPlacement :: Array { stride : element. size , count : 0 } ,
594
+ fields : FieldsShape :: Array { stride : element. size , count : 0 } ,
595
595
abi : Abi :: Aggregate { sized : false } ,
596
596
largest_niche : None ,
597
597
align : element. align ,
@@ -600,7 +600,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
600
600
}
601
601
ty:: Str => tcx. intern_layout ( Layout {
602
602
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
603
- fields : FieldPlacement :: Array { stride : Size :: from_bytes ( 1 ) , count : 0 } ,
603
+ fields : FieldsShape :: Array { stride : Size :: from_bytes ( 1 ) , count : 0 } ,
604
604
abi : Abi :: Aggregate { sized : false } ,
605
605
largest_niche : None ,
606
606
align : dl. i8_align ,
@@ -669,7 +669,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
669
669
670
670
tcx. intern_layout ( Layout {
671
671
variants : Variants :: Single { index : VariantIdx :: new ( 0 ) } ,
672
- fields : FieldPlacement :: Array { stride : element. size , count } ,
672
+ fields : FieldsShape :: Array { stride : element. size , count } ,
673
673
abi : Abi :: Vector { element : scalar, count } ,
674
674
largest_niche : element. largest_niche . clone ( ) ,
675
675
size,
@@ -745,7 +745,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
745
745
746
746
return Ok ( tcx. intern_layout ( Layout {
747
747
variants : Variants :: Single { index } ,
748
- fields : FieldPlacement :: Union ( variants[ index] . len ( ) ) ,
748
+ fields : FieldsShape :: Union ( variants[ index] . len ( ) ) ,
749
749
abi,
750
750
largest_niche : None ,
751
751
align,
@@ -979,7 +979,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
979
979
discr_index : 0 ,
980
980
variants : st,
981
981
} ,
982
- fields : FieldPlacement :: Arbitrary {
982
+ fields : FieldsShape :: Arbitrary {
983
983
offsets : vec ! [ offset] ,
984
984
memory_index : vec ! [ 0 ] ,
985
985
} ,
@@ -1120,7 +1120,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1120
1120
let new_ity_size = ity. size ( ) ;
1121
1121
for variant in & mut layout_variants {
1122
1122
match variant. fields {
1123
- FieldPlacement :: Arbitrary { ref mut offsets, .. } => {
1123
+ FieldsShape :: Arbitrary { ref mut offsets, .. } => {
1124
1124
for i in offsets {
1125
1125
if * i <= old_ity_size {
1126
1126
assert_eq ! ( * i, old_ity_size) ;
@@ -1150,7 +1150,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1150
1150
let mut common_prim = None ;
1151
1151
for ( field_layouts, layout_variant) in variants. iter ( ) . zip ( & layout_variants) {
1152
1152
let offsets = match layout_variant. fields {
1153
- FieldPlacement :: Arbitrary { ref offsets, .. } => offsets,
1153
+ FieldsShape :: Arbitrary { ref offsets, .. } => offsets,
1154
1154
_ => bug ! ( ) ,
1155
1155
} ;
1156
1156
let mut fields =
@@ -1186,7 +1186,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1186
1186
if let Some ( ( prim, offset) ) = common_prim {
1187
1187
let pair = self . scalar_pair ( tag. clone ( ) , scalar_unit ( prim) ) ;
1188
1188
let pair_offsets = match pair. fields {
1189
- FieldPlacement :: Arbitrary { ref offsets, ref memory_index } => {
1189
+ FieldsShape :: Arbitrary { ref offsets, ref memory_index } => {
1190
1190
assert_eq ! ( memory_index, & [ 0 , 1 ] ) ;
1191
1191
offsets
1192
1192
}
@@ -1217,7 +1217,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1217
1217
discr_index : 0 ,
1218
1218
variants : layout_variants,
1219
1219
} ,
1220
- fields : FieldPlacement :: Arbitrary {
1220
+ fields : FieldsShape :: Arbitrary {
1221
1221
offsets : vec ! [ Size :: ZERO ] ,
1222
1222
memory_index : vec ! [ 0 ] ,
1223
1223
} ,
@@ -1434,7 +1434,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1434
1434
// GeneratorLayout.
1435
1435
debug ! ( "prefix = {:#?}" , prefix) ;
1436
1436
let ( outer_fields, promoted_offsets, promoted_memory_index) = match prefix. fields {
1437
- FieldPlacement :: Arbitrary { mut offsets, memory_index } => {
1437
+ FieldsShape :: Arbitrary { mut offsets, memory_index } => {
1438
1438
let mut inverse_memory_index = invert_mapping ( & memory_index) ;
1439
1439
1440
1440
// "a" (`0..b_start`) and "b" (`b_start..`) correspond to
@@ -1457,7 +1457,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1457
1457
let memory_index_b = invert_mapping ( & inverse_memory_index_b) ;
1458
1458
1459
1459
let outer_fields =
1460
- FieldPlacement :: Arbitrary { offsets : offsets_a, memory_index : memory_index_a } ;
1460
+ FieldsShape :: Arbitrary { offsets : offsets_a, memory_index : memory_index_a } ;
1461
1461
( outer_fields, offsets_b, memory_index_b)
1462
1462
}
1463
1463
_ => bug ! ( ) ,
@@ -1491,7 +1491,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1491
1491
variant. variants = Variants :: Single { index } ;
1492
1492
1493
1493
let ( offsets, memory_index) = match variant. fields {
1494
- FieldPlacement :: Arbitrary { offsets, memory_index } => ( offsets, memory_index) ,
1494
+ FieldsShape :: Arbitrary { offsets, memory_index } => ( offsets, memory_index) ,
1495
1495
_ => bug ! ( ) ,
1496
1496
} ;
1497
1497
@@ -1534,7 +1534,7 @@ impl<'tcx> LayoutCx<'tcx, TyCtxt<'tcx>> {
1534
1534
combined_inverse_memory_index. retain ( |& i| i != INVALID_FIELD_IDX ) ;
1535
1535
let combined_memory_index = invert_mapping ( & combined_inverse_memory_index) ;
1536
1536
1537
- variant. fields = FieldPlacement :: Arbitrary {
1537
+ variant. fields = FieldsShape :: Arbitrary {
1538
1538
offsets : combined_offsets,
1539
1539
memory_index : combined_memory_index,
1540
1540
} ;
@@ -1989,7 +1989,7 @@ where
1989
1989
if index == variant_index &&
1990
1990
// Don't confuse variants of uninhabited enums with the enum itself.
1991
1991
// For more details see https://github.com/rust-lang/rust/issues/69763.
1992
- this. fields != FieldPlacement :: Union ( 0 ) =>
1992
+ this. fields != FieldsShape :: Union ( 0 ) =>
1993
1993
{
1994
1994
this. layout
1995
1995
}
@@ -2007,7 +2007,7 @@ where
2007
2007
let tcx = cx. tcx ( ) ;
2008
2008
tcx. intern_layout ( Layout {
2009
2009
variants : Variants :: Single { index : variant_index } ,
2010
- fields : FieldPlacement :: Union ( fields) ,
2010
+ fields : FieldsShape :: Union ( fields) ,
2011
2011
abi : Abi :: Uninhabited ,
2012
2012
largest_niche : None ,
2013
2013
align : tcx. data_layout . i8_align ,
@@ -2053,7 +2053,7 @@ where
2053
2053
// Reuse the fat `*T` type as its own thin pointer data field.
2054
2054
// This provides information about, e.g., DST struct pointees
2055
2055
// (which may have no non-DST form), and will work as long
2056
- // as the `Abi` or `FieldPlacement ` is checked by users.
2056
+ // as the `Abi` or `FieldsShape ` is checked by users.
2057
2057
if i == 0 {
2058
2058
let nil = tcx. mk_unit ( ) ;
2059
2059
let ptr_ty = if this. ty . is_unsafe_ptr ( ) {
@@ -2218,7 +2218,7 @@ where
2218
2218
2219
2219
if let Some ( variant) = data_variant {
2220
2220
// We're not interested in any unions.
2221
- if let FieldPlacement :: Union ( _) = variant. fields {
2221
+ if let FieldsShape :: Union ( _) = variant. fields {
2222
2222
data_variant = None ;
2223
2223
}
2224
2224
}
0 commit comments