From ee8d6b07091e762fbef8a3465806b48201ec5a2e Mon Sep 17 00:00:00 2001
From: Roy Brunton <roy@flashtalking.com>
Date: Thu, 4 Aug 2016 15:13:46 +0100
Subject: [PATCH] Update error message for E0172

---
 src/librustc_typeck/astconv.rs | 6 ++++--
 src/test/compile-fail/E0172.rs | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs
index 3b2bca4ab3912..744b4296ade20 100644
--- a/src/librustc_typeck/astconv.rs
+++ b/src/librustc_typeck/astconv.rs
@@ -1075,8 +1075,10 @@ impl<'o, 'gcx: 'tcx, 'tcx> AstConv<'gcx, 'tcx>+'o {
                         Ok((trait_ref, projection_bounds))
                     }
                     _ => {
-                        span_err!(self.tcx().sess, ty.span, E0172,
-                                  "expected a reference to a trait");
+                        struct_span_err!(self.tcx().sess, ty.span, E0172,
+                                  "expected a reference to a trait")
+                            .span_label(ty.span, &format!("expected a trait"))
+                            .emit();
                         Err(ErrorReported)
                     }
                 }
diff --git a/src/test/compile-fail/E0172.rs b/src/test/compile-fail/E0172.rs
index 7011bf0e93734..485a31d966637 100644
--- a/src/test/compile-fail/E0172.rs
+++ b/src/test/compile-fail/E0172.rs
@@ -8,7 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-fn foo(bar: i32+std::fmt::Display) {} //~ ERROR E0172
+fn foo(bar: i32+std::fmt::Display) {}
+    //~^ ERROR E0172
+    //~| NOTE expected a trait
 
 fn main() {
 }