1
Fork 0

Use opt_def_id instead of having special branch

This commit is contained in:
Esteban Küber 2018-11-25 07:40:26 -08:00 committed by Alexander Regueiro
parent c144dc07e3
commit 027bf8b4de

View file

@ -116,10 +116,10 @@ impl<'a, 'tcx> Visitor<'tcx> for ReachableContext<'a, 'tcx> {
Some(Def::Local(node_id)) | Some(Def::Upvar(node_id, ..)) => {
self.reachable_symbols.insert(node_id);
}
Some(Def::Err) => {} // #56202: calling `def.def_id()` would be an error
Some(def) => {
let def_id = def.def_id();
if let Some(node_id) = self.tcx.hir.as_local_node_id(def_id) {
if let Some((node_id, def_id)) = def.opt_def_id().and_then(|def_id| {
self.tcx.hir.as_local_node_id(def_id).map(|node_id| (node_id, def_id))
}) {
if self.def_id_represents_local_inlined_item(def_id) {
self.worklist.push(node_id);
} else {