Improve AdtDef interning.
This commit makes `AdtDef` use `Interned`. Much the commit is tedious changes to introduce getter functions. The interesting changes are in `compiler/rustc_middle/src/ty/adt.rs`.
This commit is contained in:
@@ -164,7 +164,7 @@ impl<'tcx> CapturedPlace<'tcx> {
|
||||
write!(
|
||||
&mut symbol,
|
||||
"__{}",
|
||||
def.variants[variant].fields[idx as usize].name.as_str(),
|
||||
def.variant(variant).fields[idx as usize].name.as_str(),
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
@@ -330,7 +330,7 @@ pub fn place_to_string_for_capture<'tcx>(tcx: TyCtxt<'tcx>, place: &HirPlace<'tc
|
||||
curr_string = format!(
|
||||
"{}.{}",
|
||||
curr_string,
|
||||
def.variants[variant].fields[idx as usize].name.as_str()
|
||||
def.variant(variant).fields[idx as usize].name.as_str()
|
||||
);
|
||||
}
|
||||
ty::Tuple(_) => {
|
||||
|
||||
Reference in New Issue
Block a user