1
Fork 0

resolve: Remove struct_field_visibilities_untracked

This commit is contained in:
Vadim Petrochenkov 2023-02-22 02:03:29 +04:00
parent 901f1c9c62
commit c05b7bd7d0
5 changed files with 37 additions and 50 deletions

View file

@ -789,7 +789,7 @@ impl<'a, 'b, 'tcx> BuildReducedGraphVisitor<'a, 'b, 'tcx> {
self.r
.struct_constructors
.insert(def_id, (ctor_res, ctor_vis.to_def_id(), ret_fields));
.insert(local_def_id, (ctor_res, ctor_vis.to_def_id(), ret_fields));
}
}
@ -1006,19 +1006,7 @@ impl<'a, 'b, 'tcx> BuildReducedGraphVisitor<'a, 'b, 'tcx> {
}
// Record some extra data for better diagnostics.
match res {
Res::Def(DefKind::Struct, def_id) => {
let ctor = self.r.cstore().ctor_untracked(def_id);
if let Some((ctor_kind, ctor_def_id)) = ctor {
let ctor_res = Res::Def(DefKind::Ctor(CtorOf::Struct, ctor_kind), ctor_def_id);
let ctor_vis = self.r.tcx.visibility(ctor_def_id);
let field_visibilities =
self.r.cstore().struct_field_visibilities_untracked(def_id).collect();
self.r
.struct_constructors
.insert(def_id, (ctor_res, ctor_vis, field_visibilities));
}
self.insert_field_names_extern(def_id)
}
Res::Def(DefKind::Struct, def_id) => self.insert_field_names_extern(def_id),
Res::Def(DefKind::Union, def_id) => self.insert_field_names_extern(def_id),
Res::Def(DefKind::AssocFn, def_id) => {
if self.r.cstore().fn_has_self_parameter_untracked(def_id, self.r.tcx.sess) {