diff options
| author | Dan Aloni <alonid@gmail.com> | 2020-09-03 13:42:24 +0300 |
|---|---|---|
| committer | Dan Aloni <alonid@gmail.com> | 2020-09-03 14:09:50 +0300 |
| commit | 51742be6d8c828c956f662a8e9a472cd31886b4a (patch) | |
| tree | 599aacc5a39a5fc3ac9f81a27033df7cc5ee37f8 /compiler/rustc_trait_selection/src/traits/specialize | |
| parent | c5a61319da34e931072f2ffe3d12e530034c8c07 (diff) | |
specialization_graph: avoid trimmed paths for OverlapError
Diffstat (limited to 'compiler/rustc_trait_selection/src/traits/specialize')
| -rw-r--r-- | compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs b/compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs index 56b8354d68c..c8bcab6efd7 100644 --- a/compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs +++ b/compiler/rustc_trait_selection/src/traits/specialize/specialization_graph.rs @@ -3,6 +3,7 @@ use super::OverlapError; use crate::traits; use rustc_hir::def_id::DefId; use rustc_middle::ty::fast_reject::{self, SimplifiedType}; +use rustc_middle::ty::print::with_no_trimmed_paths; use rustc_middle::ty::{self, TyCtxt, TypeFoldable}; pub use rustc_middle::traits::specialization_graph::*; @@ -102,7 +103,8 @@ impl ChildrenExt for Children { let trait_ref = overlap.impl_header.trait_ref.unwrap(); let self_ty = trait_ref.self_ty(); - OverlapError { + // FIXME: should postpone string formatting until we decide to actually emit. + with_no_trimmed_paths(|| OverlapError { with_impl: possible_sibling, trait_desc: trait_ref.print_only_trait_path().to_string(), // Only report the `Self` type if it has at least @@ -115,7 +117,7 @@ impl ChildrenExt for Children { }, intercrate_ambiguity_causes: overlap.intercrate_ambiguity_causes, involves_placeholder: overlap.involves_placeholder, - } + }) }; let report_overlap_error = |overlap: traits::coherence::OverlapResult<'_>, |
