about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2016-08-23 22:48:03 +0200
committerGitHub <noreply@github.com>2016-08-23 22:48:03 +0200
commit142dc491e51ca37c29e6f7d7e20a53c31c7cb3aa (patch)
treea7b46eeb3bc83a0de7a3d513e5bd007a0f14a4fc
parented4c0fd01d0b1e0ff274576cf2e5c44ac2793404 (diff)
parent5ec6f39a657771447786ef43a79b5b8e6bc329b4 (diff)
downloadrust-142dc491e51ca37c29e6f7d7e20a53c31c7cb3aa.tar.gz
rust-142dc491e51ca37c29e6f7d7e20a53c31c7cb3aa.zip
Rollup merge of #35939 - creativcoder:e0195, r=jonathandturner
Update E0195 to new error format

Fixes #35511
Part of #35233

r? @jonathandturner
-rw-r--r--src/librustc_typeck/check/compare_method.rs7
-rw-r--r--src/test/compile-fail/E0195.rs1
-rw-r--r--src/test/compile-fail/issue-16048.rs1
3 files changed, 6 insertions, 3 deletions
diff --git a/src/librustc_typeck/check/compare_method.rs b/src/librustc_typeck/check/compare_method.rs
index 0e42990a337..78476e81400 100644
--- a/src/librustc_typeck/check/compare_method.rs
+++ b/src/librustc_typeck/check/compare_method.rs
@@ -469,10 +469,11 @@ pub fn compare_impl_method<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>,
         // are zero. Since I don't quite know how to phrase things at
         // the moment, give a kind of vague error message.
         if trait_params.len() != impl_params.len() {
-            span_err!(ccx.tcx.sess, span, E0195,
+            struct_span_err!(ccx.tcx.sess, span, E0195,
                 "lifetime parameters or bounds on method `{}` do \
-                         not match the trait declaration",
-                         impl_m.name);
+                 not match the trait declaration",impl_m.name)
+                .span_label(span, &format!("lifetimes do not match trait"))
+                .emit();
             return false;
         }
 
diff --git a/src/test/compile-fail/E0195.rs b/src/test/compile-fail/E0195.rs
index 0630dfea5e6..06dd903b23d 100644
--- a/src/test/compile-fail/E0195.rs
+++ b/src/test/compile-fail/E0195.rs
@@ -16,6 +16,7 @@ struct Foo;
 
 impl Trait for Foo {
     fn bar<'a,'b>(x: &'a str, y: &'b str) { //~ ERROR E0195
+                                            //~^ lifetimes do not match trait
     }
 }
 
diff --git a/src/test/compile-fail/issue-16048.rs b/src/test/compile-fail/issue-16048.rs
index ceac7e968f6..5012556dedd 100644
--- a/src/test/compile-fail/issue-16048.rs
+++ b/src/test/compile-fail/issue-16048.rs
@@ -29,6 +29,7 @@ impl<'a> Test<'a> for Foo<'a> {
 impl<'a> NoLifetime for Foo<'a> {
     fn get<'p, T : Test<'a>>(&self) -> T {
 //~^ ERROR E0195
+//~| lifetimes do not match trait
         return *self as T;
     }
 }