diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2019-12-11 15:33:45 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2019-12-11 15:33:45 -0800 |
| commit | 45550ef2ff47020ab8af5feb08669c8c4ab879e9 (patch) | |
| tree | b248b1c949177080e1ba4ac64c6d78108ca49292 /src/librustc/infer | |
| parent | 94ab9ec36bd3401b3185aff7b623ff0317b96356 (diff) | |
| download | rust-45550ef2ff47020ab8af5feb08669c8c4ab879e9.tar.gz rust-45550ef2ff47020ab8af5feb08669c8c4ab879e9.zip | |
Reuse existing HirId → DefId table
Diffstat (limited to 'src/librustc/infer')
| -rw-r--r-- | src/librustc/infer/error_reporting/need_type_info.rs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/librustc/infer/error_reporting/need_type_info.rs b/src/librustc/infer/error_reporting/need_type_info.rs index 487736dee30..4baab0492a5 100644 --- a/src/librustc/infer/error_reporting/need_type_info.rs +++ b/src/librustc/infer/error_reporting/need_type_info.rs @@ -1,4 +1,4 @@ -use crate::hir::def::Namespace; +use crate::hir::def::{DefKind, Namespace}; use crate::hir::{self, Body, FunctionRetTy, Expr, ExprKind, HirId, Local, Pat}; use crate::hir::intravisit::{self, Visitor, NestedVisitorMap}; use crate::infer::InferCtxt; @@ -447,9 +447,8 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { &segment.args, ) { let borrow = tables.borrow(); - let method_defs = borrow.node_method_def_id(); - if let Some(did) = method_defs.get(e.hir_id) { - let generics = self.tcx.generics_of(*did); + if let Some((DefKind::Method, did)) = borrow.type_dependent_def(e.hir_id) { + let generics = self.tcx.generics_of(did); if !generics.params.is_empty() { err.span_suggestion( segment.ident.span, @@ -468,7 +467,7 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> { Applicability::HasPlaceholders, ); } else { - let sig = self.tcx.fn_sig(*did); + let sig = self.tcx.fn_sig(did); err.span_label(e.span, &format!( "this method call resolves to `{:?}`", sig.output().skip_binder(), |
