diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2016-03-18 14:47:40 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2016-03-18 16:38:52 -0400 |
| commit | bca07b5ebb59738ef64cd5891507a06c7002dd26 (patch) | |
| tree | 0817bfe3aece0837934813133eba9a8cb43158c7 /src/test | |
| parent | 5abacd36f0149a9106d7ee04e97eadba4e523bb4 (diff) | |
| download | rust-bca07b5ebb59738ef64cd5891507a06c7002dd26.tar.gz rust-bca07b5ebb59738ef64cd5891507a06c7002dd26.zip | |
make suggestion stuff not swallow errors
The older code would sometimes swallow errors or fail to produce a suggestion. The newer code does not. However, just printing everything would produce a bunch of new and kind of annoying errors, so continue to swallow `T: 'a` errors so long as there are other things to show.
Diffstat (limited to 'src/test')
3 files changed, 3 insertions, 5 deletions
diff --git a/src/test/compile-fail/issue-13058.rs b/src/test/compile-fail/issue-13058.rs index 503ccbd1cab..b552d7678d5 100644 --- a/src/test/compile-fail/issue-13058.rs +++ b/src/test/compile-fail/issue-13058.rs @@ -36,9 +36,5 @@ fn check<'r, I: Iterator<Item=usize>, T: Itble<'r, usize, I>>(cont: &T) -> bool fn main() { check((3, 5)); //~^ ERROR mismatched types -//~| expected `&_` -//~| found `(_, _)` -//~| expected &-ptr -//~| found tuple //~| HELP run `rustc --explain E0308` to see a detailed explanation } diff --git a/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param-3.rs b/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param-3.rs index 655fe28b12b..e0ea1ed7434 100644 --- a/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param-3.rs +++ b/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param-3.rs @@ -22,7 +22,7 @@ fn bar1<'a>(x: &Bar) -> (&'a i32, &'a i32, &'a i32) { } fn bar2<'a, 'b, 'c>(x: &Bar<'a, 'b, 'c>) -> (&'a i32, &'a i32, &'a i32) { - //~^ HELP: consider using an explicit lifetime parameter as shown: fn bar2<'a, 'b, 'c>(x: &'a Bar<'a, 'b, 'c>) -> (&'a i32, &'a i32, &'a i32) + //~^ HELP: consider using an explicit lifetime parameter as shown: fn bar2<'a, 'c>(x: &'a Bar<'a, 'a, 'c>) -> (&'a i32, &'a i32, &'a i32) (x.bar, &x.baz, &x.baz) //~^ ERROR E0312 //~| ERROR cannot infer diff --git a/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param.rs b/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param.rs index 46160fbefcf..73d89beb220 100644 --- a/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param.rs +++ b/src/test/compile-fail/lifetime-inference-give-expl-lifetime-param.rs @@ -39,6 +39,7 @@ struct Cat<'x, T> { cat: &'x isize, t: T } struct Dog<'y> { dog: &'y isize } fn cat2<'x, 'y>(x: Cat<'x, Dog<'y>>) -> &'x isize { + //~^ HELP consider using an explicit lifetime parameter as shown: fn cat2<'x>(x: Cat<'x, Dog<'x>>) -> &'x isize x.t.dog //~ ERROR E0312 } @@ -48,6 +49,7 @@ struct Baz<'x> { impl<'a> Baz<'a> { fn baz2<'b>(&self, x: &isize) -> (&'b isize, &'b isize) { + //~^ HELP consider using an explicit lifetime parameter as shown: fn baz2<'b>(&self, x: &'b isize) -> (&'a isize, &'a isize) (self.bar, x) //~ ERROR E0312 //~^ ERROR E0312 } |
