libpanic_unwind => 2018: fix ICEs.

This commit is contained in:
Mazdak Farrokhzad 2019-02-13 00:07:22 +01:00
parent f2fe12a8ab
commit f9e9c9196a
2 changed files with 7 additions and 6 deletions

View file

@ -752,12 +752,11 @@ fn compute_all_traits<'a, 'gcx, 'tcx>(tcx: TyCtxt<'a, 'gcx, 'tcx>) -> Vec<DefId>
traits: &mut Vec<DefId>,
external_mods: &mut FxHashSet<DefId>,
def: Def) {
let def_id = def.def_id();
match def {
Def::Trait(..) => {
Def::Trait(def_id) => {
traits.push(def_id);
}
Def::Mod(..) => {
Def::Mod(def_id) => {
if !external_mods.insert(def_id) {
return;
}

View file

@ -60,12 +60,14 @@ impl<'a, 'tcx, 'rcx> LibEmbargoVisitor<'a, 'tcx, 'rcx> {
}
for item in self.cx.tcx.item_children(def_id).iter() {
if self.cx.tcx.def_key(item.def.def_id()).parent.map_or(false, |d| d == def_id.index) ||
if let Some(def_id) = item.def.opt_def_id() {
if self.cx.tcx.def_key(def_id).parent.map_or(false, |d| d == def_id.index) ||
item.vis == Visibility::Public {
self.visit_item(item.def);
}
}
}
}
fn visit_item(&mut self, def: Def) {
let def_id = def.def_id();