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