diff options
| author | varkor <github@varkor.com> | 2018-06-28 22:49:01 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2018-06-28 22:52:44 +0100 |
| commit | 4071adfcb5c9fa0d28f4ea096c19a3e8d4c802ff (patch) | |
| tree | a4c68cc13ae73171a616f8f6216d0c5c3af4c6eb /src/librustc/middle | |
| parent | 4fe88c05cd14fa182fd58cc68127f98aca77d1ff (diff) | |
| download | rust-4071adfcb5c9fa0d28f4ea096c19a3e8d4c802ff.tar.gz rust-4071adfcb5c9fa0d28f4ea096c19a3e8d4c802ff.zip | |
Always check type_dependent_defs
Diffstat (limited to 'src/librustc/middle')
| -rw-r--r-- | src/librustc/middle/dead.rs | 6 | ||||
| -rw-r--r-- | src/librustc/middle/reachable.rs | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/librustc/middle/dead.rs b/src/librustc/middle/dead.rs index 7ebc0d4a4de..f59cce4bd9e 100644 --- a/src/librustc/middle/dead.rs +++ b/src/librustc/middle/dead.rs @@ -96,7 +96,11 @@ impl<'a, 'tcx> MarkSymbolVisitor<'a, 'tcx> { } fn lookup_and_handle_method(&mut self, id: hir::HirId) { - self.check_def_id(self.tables.type_dependent_defs()[id].def_id()); + if let Some(def) = self.tables.type_dependent_defs().get(id) { + self.check_def_id(def.def_id()); + } else { + bug!("no type-dependent def for method"); + } } fn handle_field_access(&mut self, lhs: &hir::Expr, node_id: ast::NodeId) { diff --git a/src/librustc/middle/reachable.rs b/src/librustc/middle/reachable.rs index 95829346ede..476f3f5799d 100644 --- a/src/librustc/middle/reachable.rs +++ b/src/librustc/middle/reachable.rs @@ -120,7 +120,7 @@ impl<'a, 'tcx> Visitor<'tcx> for ReachableContext<'a, 'tcx> { Some(self.tables.qpath_def(qpath, expr.hir_id)) } hir::ExprMethodCall(..) => { - Some(self.tables.type_dependent_defs()[expr.hir_id]) + self.tables.type_dependent_defs().get(expr.hir_id).cloned() } _ => None }; |
