Update ty::VariantDef
to use IndexVec<FieldIdx, FieldDef>
And while doing the updates for that, also uses `FieldIdx` in `ProjectionKind::Field` and `TypeckResults::field_indices`. There's more places that could use it (like `rustc_const_eval` and `LayoutS`), but I tried to keep this PR from exploding to *even more* places. Part 2/? of https://github.com/rust-lang/compiler-team/issues/606
This commit is contained in:
parent
10338571cf
commit
4abb455529
47 changed files with 127 additions and 104 deletions
|
@ -274,7 +274,8 @@ fn build_enum_variant_struct_type_di_node<'ll, 'tcx>(
|
|||
.map(|field_index| {
|
||||
let field_name = if variant_def.ctor_kind() != Some(CtorKind::Fn) {
|
||||
// Fields have names
|
||||
Cow::from(variant_def.fields[field_index].name.as_str())
|
||||
let field = &variant_def.fields[FieldIdx::from_usize(field_index)];
|
||||
Cow::from(field.name.as_str())
|
||||
} else {
|
||||
// Tuple-like
|
||||
super::tuple_field_name(field_index)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue