diff options
39 files changed, 44 insertions, 42 deletions
diff --git a/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs b/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs index 00b07712822..ca71b0aeed9 100644 --- a/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs +++ b/src/librustc/infer/error_reporting/nice_region_error/named_anon_conflict.rs @@ -113,7 +113,7 @@ impl<'a, 'gcx, 'tcx> NiceRegionError<'a, 'gcx, 'tcx> { error_var ).span_suggestion( new_ty_span, - &format!("consider changing {} to ", span_label_var), + &format!("add explicit lifetime `{}` to {}", named, span_label_var), new_ty.to_string() ) .span_label(span, format!("lifetime `{}` required", named)) diff --git a/src/test/ui/in-band-lifetimes/mismatched.nll.stderr b/src/test/ui/in-band-lifetimes/mismatched.nll.stderr index 8da86d08799..17ab22962c1 100644 --- a/src/test/ui/in-band-lifetimes/mismatched.nll.stderr +++ b/src/test/ui/in-band-lifetimes/mismatched.nll.stderr @@ -16,7 +16,7 @@ error[E0621]: explicit lifetime required in the type of `y` LL | fn foo(x: &'a u32, y: &u32) -> &'a u32 { y } //~ ERROR explicit lifetime required | ---- ^ lifetime `'a` required | | - | help: consider changing the type of `y` to : `&'a u32` + | help: add explicit lifetime `'a` to the type of `y`: `&'a u32` error[E0623]: lifetime mismatch --> $DIR/mismatched.rs:16:46 diff --git a/src/test/ui/in-band-lifetimes/mismatched.stderr b/src/test/ui/in-band-lifetimes/mismatched.stderr index d062b6941f8..ed932a97ba4 100644 --- a/src/test/ui/in-band-lifetimes/mismatched.stderr +++ b/src/test/ui/in-band-lifetimes/mismatched.stderr @@ -4,7 +4,7 @@ error[E0621]: explicit lifetime required in the type of `y` LL | fn foo(x: &'a u32, y: &u32) -> &'a u32 { y } //~ ERROR explicit lifetime required | ---- ^ lifetime `'a` required | | - | help: consider changing the type of `y` to : `&'a u32` + | help: add explicit lifetime `'a` to the type of `y`: `&'a u32` error[E0623]: lifetime mismatch --> $DIR/mismatched.rs:16:46 diff --git a/src/test/ui/in-band-lifetimes/mismatched_trait.nll.stderr b/src/test/ui/in-band-lifetimes/mismatched_trait.nll.stderr index e663bf5a152..a01f3219dc5 100644 --- a/src/test/ui/in-band-lifetimes/mismatched_trait.nll.stderr +++ b/src/test/ui/in-band-lifetimes/mismatched_trait.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/mismatched_trait.rs:16:9 | LL | fn baz(&self, x: &'a u32, y: &u32) -> &'a u32 { - | ---- help: consider changing the type of `y` to : `&'a u32` + | ---- help: add explicit lifetime `'a` to the type of `y`: `&'a u32` LL | y //~ ERROR explicit lifetime required | ^ lifetime `'a` required diff --git a/src/test/ui/in-band-lifetimes/mismatched_trait.stderr b/src/test/ui/in-band-lifetimes/mismatched_trait.stderr index 01cf9bff2a8..745b82c20b4 100644 --- a/src/test/ui/in-band-lifetimes/mismatched_trait.stderr +++ b/src/test/ui/in-band-lifetimes/mismatched_trait.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/mismatched_trait.rs:16:9 | LL | fn baz(&self, x: &'a u32, y: &u32) -> &'a u32 { - | ---- help: consider changing the type of `y` to : `&'a u32` + | ---- help: add explicit lifetime `'a` to the type of `y`: `&'a u32` LL | y //~ ERROR explicit lifetime required | ^ lifetime `'a` required diff --git a/src/test/ui/issue-13058.stderr b/src/test/ui/issue-13058.stderr index 2f954f2bbcf..5e8319d26ad 100644 --- a/src/test/ui/issue-13058.stderr +++ b/src/test/ui/issue-13058.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `cont` --> $DIR/issue-13058.rs:24:26 | LL | fn check<'r, I: Iterator<Item=usize>, T: Itble<'r, usize, I>>(cont: &T) -> bool - | -- help: consider changing the type of `cont` to : `&'r T` + | -- help: add explicit lifetime `'r` to the type of `cont`: `&'r T` LL | { LL | let cont_iter = cont.iter(); | ^^^^ lifetime `'r` required diff --git a/src/test/ui/issue-14285.nll.stderr b/src/test/ui/issue-14285.nll.stderr index 8affc3b04b5..c95d540b25c 100644 --- a/src/test/ui/issue-14285.nll.stderr +++ b/src/test/ui/issue-14285.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `a` --> $DIR/issue-14285.rs:22:7 | LL | fn foo<'a>(a: &Foo) -> B<'a> { - | ---- help: consider changing the type of `a` to : `&'a (dyn Foo + 'a)` + | ---- help: add explicit lifetime `'a` to the type of `a`: `&'a (dyn Foo + 'a)` LL | B(a) //~ ERROR 22:5: 22:9: explicit lifetime required in the type of `a` [E0621] | ^ lifetime `'a` required diff --git a/src/test/ui/issue-14285.stderr b/src/test/ui/issue-14285.stderr index 169c93cc389..52163f81b7b 100644 --- a/src/test/ui/issue-14285.stderr +++ b/src/test/ui/issue-14285.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `a` --> $DIR/issue-14285.rs:22:5 | LL | fn foo<'a>(a: &Foo) -> B<'a> { - | ---- help: consider changing the type of `a` to : `&'a (dyn Foo + 'a)` + | ---- help: add explicit lifetime `'a` to the type of `a`: `&'a (dyn Foo + 'a)` LL | B(a) //~ ERROR 22:5: 22:9: explicit lifetime required in the type of `a` [E0621] | ^^^^ lifetime `'a` required diff --git a/src/test/ui/issue-15034.nll.stderr b/src/test/ui/issue-15034.nll.stderr index 1f0fe68e2a3..4c8482630c5 100644 --- a/src/test/ui/issue-15034.nll.stderr +++ b/src/test/ui/issue-15034.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `lexer` --> $DIR/issue-15034.rs:27:25 | LL | pub fn new(lexer: &'a mut Lexer) -> Parser<'a> { - | ------------- help: consider changing the type of `lexer` to : `&'a mut Lexer<'a>` + | ------------- help: add explicit lifetime `'a` to the type of `lexer`: `&'a mut Lexer<'a>` LL | Parser { lexer: lexer } | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/issue-15034.stderr b/src/test/ui/issue-15034.stderr index bb0053d7aa8..c87bec00d95 100644 --- a/src/test/ui/issue-15034.stderr +++ b/src/test/ui/issue-15034.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `lexer` --> $DIR/issue-15034.rs:27:25 | LL | pub fn new(lexer: &'a mut Lexer) -> Parser<'a> { - | ------------- help: consider changing the type of `lexer` to : `&'a mut Lexer<'a>` + | ------------- help: add explicit lifetime `'a` to the type of `lexer`: `&'a mut Lexer<'a>` LL | Parser { lexer: lexer } | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/issue-16922.nll.stderr b/src/test/ui/issue-16922.nll.stderr index d8926fd2cf5..1bd26faedaa 100644 --- a/src/test/ui/issue-16922.nll.stderr +++ b/src/test/ui/issue-16922.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `value` --> $DIR/issue-16922.rs:14:5 | LL | fn foo<T: Any>(value: &T) -> Box<Any> { - | -- help: consider changing the type of `value` to : `&'static T` + | -- help: add explicit lifetime `'static` to the type of `value`: `&'static T` LL | Box::new(value) as Box<Any> | ^^^^^^^^^^^^^^^ lifetime `'static` required diff --git a/src/test/ui/issue-16922.stderr b/src/test/ui/issue-16922.stderr index 2f84fb7842f..e70869eb183 100644 --- a/src/test/ui/issue-16922.stderr +++ b/src/test/ui/issue-16922.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `value` --> $DIR/issue-16922.rs:14:5 | LL | fn foo<T: Any>(value: &T) -> Box<Any> { - | -- help: consider changing the type of `value` to : `&'static T` + | -- help: add explicit lifetime `'static` to the type of `value`: `&'static T` LL | Box::new(value) as Box<Any> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'static` required diff --git a/src/test/ui/issue-3154.nll.stderr b/src/test/ui/issue-3154.nll.stderr index 9cad0aabc93..91010bd3209 100644 --- a/src/test/ui/issue-3154.nll.stderr +++ b/src/test/ui/issue-3154.nll.stderr @@ -14,7 +14,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/issue-3154.rs:16:15 | LL | fn thing<'a,Q>(x: &Q) -> thing<'a,Q> { - | -- help: consider changing the type of `x` to : `&'a Q` + | -- help: add explicit lifetime `'a` to the type of `x`: `&'a Q` LL | thing{ x: x } //~ ERROR 16:5: 16:18: explicit lifetime required in the type of `x` [E0621] | ^ lifetime `'a` required diff --git a/src/test/ui/issue-3154.stderr b/src/test/ui/issue-3154.stderr index 5b5bc669c45..01299d74808 100644 --- a/src/test/ui/issue-3154.stderr +++ b/src/test/ui/issue-3154.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/issue-3154.rs:16:5 | LL | fn thing<'a,Q>(x: &Q) -> thing<'a,Q> { - | -- help: consider changing the type of `x` to : `&'a Q` + | -- help: add explicit lifetime `'a` to the type of `x`: `&'a Q` LL | thing{ x: x } //~ ERROR 16:5: 16:18: explicit lifetime required in the type of `x` [E0621] | ^^^^^^^^^^^^^ lifetime `'a` required diff --git a/src/test/ui/issue-40288-2.nll.stderr b/src/test/ui/issue-40288-2.nll.stderr index 4a78d2a0057..dcc9e0a8a65 100644 --- a/src/test/ui/issue-40288-2.nll.stderr +++ b/src/test/ui/issue-40288-2.nll.stderr @@ -38,7 +38,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/issue-40288-2.rs:17:9 | LL | fn lifetime_transmute_slice<'a, T: ?Sized>(x: &'a T, y: &T) -> &'a T { - | -- help: consider changing the type of `y` to : `&'a T` + | -- help: add explicit lifetime `'a` to the type of `y`: `&'a T` ... LL | slice[0] = y; | ^^^^^^^^^^^^ lifetime `'a` required @@ -47,7 +47,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/issue-40288-2.rs:32:9 | LL | fn lifetime_transmute_struct<'a, T: ?Sized>(x: &'a T, y: &T) -> &'a T { - | -- help: consider changing the type of `y` to : `&'a T` + | -- help: add explicit lifetime `'a` to the type of `y`: `&'a T` ... LL | dst.head = y; | ^^^^^^^^^^^^ lifetime `'a` required diff --git a/src/test/ui/issue-40288-2.stderr b/src/test/ui/issue-40288-2.stderr index 6cf7ddc5798..fd0b4c01636 100644 --- a/src/test/ui/issue-40288-2.stderr +++ b/src/test/ui/issue-40288-2.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/issue-40288-2.rs:19:5 | LL | fn lifetime_transmute_slice<'a, T: ?Sized>(x: &'a T, y: &T) -> &'a T { - | -- help: consider changing the type of `y` to : `&'a T` + | -- help: add explicit lifetime `'a` to the type of `y`: `&'a T` ... LL | out[0] | ^^^^^^ lifetime `'a` required @@ -11,7 +11,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/issue-40288-2.rs:34:5 | LL | fn lifetime_transmute_struct<'a, T: ?Sized>(x: &'a T, y: &T) -> &'a T { - | -- help: consider changing the type of `y` to : `&'a T` + | -- help: add explicit lifetime `'a` to the type of `y`: `&'a T` ... LL | out.head | ^^^^^^^^ lifetime `'a` required diff --git a/src/test/ui/issue-46983.stderr b/src/test/ui/issue-46983.stderr index 53fcdd71eb1..c4f2b3eba7d 100644 --- a/src/test/ui/issue-46983.stderr +++ b/src/test/ui/issue-46983.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/issue-46983.rs:14:5 | LL | fn foo(x: &u32) -> &'static u32 { - | ---- help: consider changing the type of `x` to : `&'static u32` + | ---- help: add explicit lifetime `'static` to the type of `x`: `&'static u32` LL | &*x | ^^^ lifetime `'static` required diff --git a/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.nll.stderr b/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.nll.stderr index bec5fb2f72a..89313f898d5 100644 --- a/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.nll.stderr +++ b/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/42701_one_named_and_one_anonymous.rs:16:5 | LL | fn foo2<'a>(a: &'a Foo, x: &i32) -> &'a i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | / if true { LL | | let p: &i32 = &a.field; LL | | &*p diff --git a/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.stderr b/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.stderr index b23025ee127..b886450336d 100644 --- a/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.stderr +++ b/src/test/ui/lifetime-errors/42701_one_named_and_one_anonymous.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/42701_one_named_and_one_anonymous.rs:20:9 | LL | fn foo2<'a>(a: &'a Foo, x: &i32) -> &'a i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` ... LL | &*x //~ ERROR explicit lifetime | ^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.nll.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.nll.stderr index 9666e0112ac..3976cb30426 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.nll.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `other` --> $DIR/ex1-return-one-existing-name-early-bound-in-struct.rs:18:15 | LL | fn bar(&self, other: Foo) -> Foo<'a> { - | --- help: consider changing the type of `other` to : `Foo<'a>` + | --- help: add explicit lifetime `'a` to the type of `other`: `Foo<'a>` LL | match *self { | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr index 0cce3d204ae..5847f755b3c 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `other` --> $DIR/ex1-return-one-existing-name-early-bound-in-struct.rs:21:21 | LL | fn bar(&self, other: Foo) -> Foo<'a> { - | --- help: consider changing the type of `other` to : `Foo<'a>` + | --- help: add explicit lifetime `'a` to the type of `other`: `Foo<'a>` ... LL | other //~ ERROR explicit lifetime | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.nll.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.nll.stderr index 667d8548c72..00eff2fe3ae 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.nll.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex1-return-one-existing-name-if-else-2.rs:12:8 | LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr index cfbfd5ac448..a4e1fe5e183 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex1-return-one-existing-name-if-else-2.rs:12:16 | LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.nll.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.nll.stderr index 3e79d3e44df..a3b46aa04a6 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.nll.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in parameter type --> $DIR/ex1-return-one-existing-name-if-else-3.rs:11:16 | LL | fn foo<'a>((x, y): (&'a i32, &i32)) -> &'a i32 { - | ^ --------------- help: consider changing type to : `(&'a i32, &'a i32)` + | ^ --------------- help: add explicit lifetime `'a` to type: `(&'a i32, &'a i32)` | | | lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr index 70c25be2c30..a260c7bf7e9 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in parameter type --> $DIR/ex1-return-one-existing-name-if-else-3.rs:12:27 | LL | fn foo<'a>((x, y): (&'a i32, &i32)) -> &'a i32 { - | --------------- help: consider changing type to : `(&'a i32, &'a i32)` + | --------------- help: add explicit lifetime `'a` to type: `(&'a i32, &'a i32)` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.nll.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.nll.stderr index 419644cb60e..465b33be2d0 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.nll.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex1-return-one-existing-name-if-else-using-impl-2.rs:14:7 | LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr index 5c256aab62c..8eac8761bd4 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex1-return-one-existing-name-if-else-using-impl-2.rs:14:15 | LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.nll.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.nll.stderr index 97ff1879f1b..a62d7cc5a6f 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.nll.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex1-return-one-existing-name-if-else-using-impl-3.rs:18:5 | LL | fn foo<'a>(&'a self, x: &i32) -> &i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | LL | if true { &self.field } else { x } //~ ERROR explicit lifetime | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr index f8654baa86b..0ae98aeb843 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex1-return-one-existing-name-if-else-using-impl-3.rs:18:36 | LL | fn foo<'a>(&'a self, x: &i32) -> &i32 { - | ---- help: consider changing the type of `x` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` LL | LL | if true { &self.field } else { x } //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.nll.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.nll.stderr index 8c429bcbc95..93f8254f825 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.nll.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/ex1-return-one-existing-name-if-else.rs:12:8 | LL | fn foo<'a>(x: &'a i32, y: &i32) -> &'a i32 { - | ---- help: consider changing the type of `y` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `y`: `&'a i32` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.stderr b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.stderr index cd7719f7047..b68b90e77de 100644 --- a/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.stderr +++ b/src/test/ui/lifetime-errors/ex1-return-one-existing-name-if-else.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/ex1-return-one-existing-name-if-else.rs:12:27 | LL | fn foo<'a>(x: &'a i32, y: &i32) -> &'a i32 { - | ---- help: consider changing the type of `y` to : `&'a i32` + | ---- help: add explicit lifetime `'a` to the type of `y`: `&'a i32` LL | if x > y { x } else { y } //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.nll.stderr b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.nll.stderr index d9c96a0e47c..a5fa83266a3 100644 --- a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.nll.stderr +++ b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex2a-push-one-existing-name-2.rs:16:5 | LL | fn foo<'a>(x: Ref<i32>, y: &mut Vec<Ref<'a, i32>>) { - | -------- help: consider changing the type of `x` to : `Ref<'a, i32>` + | -------- help: add explicit lifetime `'a` to the type of `x`: `Ref<'a, i32>` LL | y.push(x); //~ ERROR explicit lifetime | ^^^^^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.stderr b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.stderr index d6944cc251f..6f0a5179d6b 100644 --- a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.stderr +++ b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-2.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/ex2a-push-one-existing-name-2.rs:16:12 | LL | fn foo<'a>(x: Ref<i32>, y: &mut Vec<Ref<'a, i32>>) { - | -------- help: consider changing the type of `x` to : `Ref<'a, i32>` + | -------- help: add explicit lifetime `'a` to the type of `x`: `Ref<'a, i32>` LL | y.push(x); //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr index d6724607669..a8286ba2952 100644 --- a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr +++ b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/ex2a-push-one-existing-name-early-bound.rs:17:12 | LL | fn baz<'a, 'b, T>(x: &mut Vec<&'a T>, y: &T) - | -- help: consider changing the type of `y` to : `&'a T` + | -- help: add explicit lifetime `'a` to the type of `y`: `&'a T` ... LL | x.push(y); //~ ERROR explicit lifetime required | ^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.nll.stderr b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.nll.stderr index d08a9d6084a..294a9106619 100644 --- a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.nll.stderr +++ b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.nll.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/ex2a-push-one-existing-name.rs:16:5 | LL | fn foo<'a>(x: &mut Vec<Ref<'a, i32>>, y: Ref<i32>) { - | -------- help: consider changing the type of `y` to : `Ref<'a, i32>` + | -------- help: add explicit lifetime `'a` to the type of `y`: `Ref<'a, i32>` LL | x.push(y); //~ ERROR explicit lifetime | ^^^^^^^^^ lifetime `'a` required diff --git a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.stderr b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.stderr index 088605a2b85..ebe465aa581 100644 --- a/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.stderr +++ b/src/test/ui/lifetime-errors/ex2a-push-one-existing-name.stderr @@ -2,7 +2,7 @@ error[E0621]: explicit lifetime required in the type of `y` --> $DIR/ex2a-push-one-existing-name.rs:16:12 | LL | fn foo<'a>(x: &mut Vec<Ref<'a, i32>>, y: Ref<i32>) { - | -------- help: consider changing the type of `y` to : `Ref<'a, i32>` + | -------- help: add explicit lifetime `'a` to the type of `y`: `Ref<'a, i32>` LL | x.push(y); //~ ERROR explicit lifetime | ^ lifetime `'a` required diff --git a/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr b/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr index 25450252cde..a019a7224c6 100644 --- a/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr +++ b/src/test/ui/nll/closure-requirements/region-lbr-anon-does-not-outlive-static.stderr @@ -8,7 +8,7 @@ error[E0621]: explicit lifetime required in the type of `x` --> $DIR/region-lbr-anon-does-not-outlive-static.rs:19:5 | LL | fn foo(x: &u32) -> &'static u32 { - | ---- help: consider changing the type of `x` to : `&ReStatic u32` + | ---- help: add explicit lifetime `ReStatic` to the type of `x`: `&ReStatic u32` LL | &*x | ^^^ lifetime `ReStatic` required diff --git a/src/test/ui/nll/guarantor-issue-46974.stderr b/src/test/ui/nll/guarantor-issue-46974.stderr index 644d18419f1..6fc48129986 100644 --- a/src/test/ui/nll/guarantor-issue-46974.stderr +++ b/src/test/ui/nll/guarantor-issue-46974.stderr @@ -13,7 +13,7 @@ error[E0621]: explicit lifetime required in the type of `s` --> $DIR/guarantor-issue-46974.rs:25:5 | LL | fn bar(s: &Box<(i32,)>) -> &'static i32 { - | ------------ help: consider changing the type of `s` to : `&'static std::boxed::Box<(i32,)>` + | ------------ help: add explicit lifetime `'static` to the type of `s`: `&'static std::boxed::Box<(i32,)>` LL | // FIXME(#46983): error message should be better LL | &s.0 //~ ERROR explicit lifetime required in the type of `s` [E0621] | ^^^^ lifetime `'static` required diff --git a/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr b/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr index 944fc1c2666..a4f0e53386f 100644 --- a/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr +++ b/src/test/ui/nll/ty-outlives/impl-trait-captures.stderr @@ -7,10 +7,12 @@ LL | x error[E0621]: explicit lifetime required in the type of `x` --> $DIR/impl-trait-captures.rs:21:5 | -LL | fn foo<'a, T>(x: &T) -> impl Foo<'a> { - | -- help: consider changing the type of `x` to : `&ReEarlyBound(0, 'a) T` LL | x | ^ lifetime `ReEarlyBound(0, 'a)` required +help: add explicit lifetime `ReEarlyBound(0, 'a)` to the type of `x` + | +LL | fn foo<'a, T>(x: &ReEarlyBound(0, 'a) T) -> impl Foo<'a> { + | ^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error |
