about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_typeck/astconv.rs10
-rw-r--r--src/test/compile-fail/associated-type-projection-from-multiple-supertraits.rs3
2 files changed, 9 insertions, 4 deletions
diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs
index efefe848c69..07595c5dbe1 100644
--- a/src/librustc_typeck/astconv.rs
+++ b/src/librustc_typeck/astconv.rs
@@ -1287,10 +1287,12 @@ impl<'o, 'gcx: 'tcx, 'tcx> AstConv<'gcx, 'tcx>+'o {
         }
 
         if bounds.len() > 1 {
-            let mut err = struct_span_err!(self.tcx().sess, span, E0221,
-                                           "ambiguous associated type `{}` in bounds of `{}`",
-                                           assoc_name,
-                                           ty_param_name);
+            let mut err = struct_span_err!(
+                self.tcx().sess, span, E0221,
+                "ambiguous associated type `{}` in bounds of `{}`",
+                assoc_name,
+                ty_param_name);
+            err.span_label(span, &format!("ambiguous associated type `{}`", assoc_name));
 
             for bound in &bounds {
                 span_note!(&mut err, span,
diff --git a/src/test/compile-fail/associated-type-projection-from-multiple-supertraits.rs b/src/test/compile-fail/associated-type-projection-from-multiple-supertraits.rs
index 007f1d3a294..a2a11c62bb8 100644
--- a/src/test/compile-fail/associated-type-projection-from-multiple-supertraits.rs
+++ b/src/test/compile-fail/associated-type-projection-from-multiple-supertraits.rs
@@ -28,6 +28,7 @@ pub trait BoxCar : Box + Vehicle {
 
 fn dent<C:BoxCar>(c: C, color: C::Color) {
     //~^ ERROR ambiguous associated type `Color` in bounds of `C`
+    //~| NOTE ambiguous associated type `Color`
     //~| NOTE could derive from `Vehicle`
     //~| NOTE could derive from `Box`
 }
@@ -35,6 +36,7 @@ fn dent<C:BoxCar>(c: C, color: C::Color) {
 fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) {
     //~^ ERROR ambiguous associated type
     //~| ERROR the value of the associated type `Color` (from the trait `Vehicle`) must be specified
+    //~| NOTE ambiguous associated type `Color`
     //~| NOTE could derive from `Vehicle`
     //~| NOTE could derive from `Box`
     //~| NOTE missing associated type `Color` value
@@ -42,6 +44,7 @@ fn dent_object<COLOR>(c: BoxCar<Color=COLOR>) {
 
 fn paint<C:BoxCar>(c: C, d: C::Color) {
     //~^ ERROR ambiguous associated type `Color` in bounds of `C`
+    //~| NOTE ambiguous associated type `Color`
     //~| NOTE could derive from `Vehicle`
     //~| NOTE could derive from `Box`
 }