diff options
| author | Oliver Schneider <github35764891676564198441@oli-obk.de> | 2018-07-14 17:22:53 +0200 |
|---|---|---|
| committer | Oliver Schneider <github35764891676564198441@oli-obk.de> | 2018-07-14 17:22:53 +0200 |
| commit | a59cf4e913f64c57377fcc0b9c173c51d492304a (patch) | |
| tree | bea0a34112edaefdf875c0d3d8b1e4125be00a08 /src/librustc/traits | |
| parent | c946c2539e9690fab5dbf7ac217ec696ac263cf3 (diff) | |
| download | rust-a59cf4e913f64c57377fcc0b9c173c51d492304a.tar.gz rust-a59cf4e913f64c57377fcc0b9c173c51d492304a.zip | |
Remove `ty_to_def_id`
Diffstat (limited to 'src/librustc/traits')
| -rw-r--r-- | src/librustc/traits/error_reporting.rs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/librustc/traits/error_reporting.rs b/src/librustc/traits/error_reporting.rs index e5559b7012d..a5caacea986 100644 --- a/src/librustc/traits/error_reporting.rs +++ b/src/librustc/traits/error_reporting.rs @@ -391,7 +391,7 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> { flags.push((name, Some(value))); } - if let Some(true) = self_ty.ty_to_def_id().map(|def_id| def_id.is_local()) { + if let Some(true) = self_ty.ty_adt_def().map(|def| def.did.is_local()) { flags.push(("crate_local".to_string(), None)); } @@ -775,7 +775,13 @@ impl<'a, 'gcx, 'tcx> InferCtxt<'a, 'gcx, 'tcx> { } let found_trait_ty = found_trait_ref.self_ty(); - let found_did = found_trait_ty.ty_to_def_id(); + let found_did = match found_trait_ty.sty { + ty::TyClosure(did, _) | + ty::TyForeign(did) | + ty::TyFnDef(did, _) => Some(did), + ty::TyAdt(def, _) => Some(def.did), + _ => None, + }; let found_span = found_did.and_then(|did| { self.tcx.hir.span_if_local(did) }).map(|sp| self.tcx.sess.codemap().def_span(sp)); // the sp could be an fn def |
