Skip to content

Commit

Permalink
Don't print the same impl twice on ext. overlap
Browse files Browse the repository at this point in the history
  • Loading branch information
jonas-schievink committed Oct 27, 2015
1 parent eab5ad5 commit 6c094b9
Showing 1 changed file with 3 additions and 5 deletions.
8 changes: 3 additions & 5 deletions src/librustc_typeck/coherence/overlap.rs
Expand Up @@ -147,20 +147,18 @@ impl<'cx, 'tcx> OverlapChecker<'cx, 'tcx> {
"conflicting implementations for trait `{}`",
self.tcx.item_path_str(trait_def_id));

self.report_overlap_note(impl1, impl2);
self.report_overlap_note(impl2);
}

fn report_overlap_note(&self, impl1: DefId, impl2: DefId) {
fn report_overlap_note(&self, impl2: DefId) {

if impl2.is_local() {
span_note!(self.tcx.sess, self.span_of_impl(impl2),
"note conflicting implementation here");
} else {
let crate_store = &self.tcx.sess.cstore;
let cdata = crate_store.get_crate_data(impl2.krate);
span_note!(self.tcx.sess, self.span_of_impl(impl1),
"conflicting implementation in crate `{}`",
cdata.name);
self.tcx.sess.note(&format!("conflicting implementation in crate `{}`", cdata.name));
}
}

Expand Down

0 comments on commit 6c094b9

Please sign in to comment.