review comments
This commit is contained in:
parent
fa4594196d
commit
2100b31535
21 changed files with 60 additions and 60 deletions
|
@ -1498,20 +1498,20 @@ crate fn add_missing_lifetime_specifiers_label(
|
||||||
msg = "consider introducing a named lifetime parameter";
|
msg = "consider introducing a named lifetime parameter";
|
||||||
should_break = true;
|
should_break = true;
|
||||||
match &generics.params {
|
match &generics.params {
|
||||||
[] => (generics.span, "<'r>".to_string()),
|
[] => (generics.span, "<'a>".to_string()),
|
||||||
[param, ..] => (param.span.shrink_to_lo(), "'r, ".to_string()),
|
[param, ..] => (param.span.shrink_to_lo(), "'a, ".to_string()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MissingLifetimeSpot::HRLT { span, span_type } => {
|
MissingLifetimeSpot::HRLT { span, span_type } => {
|
||||||
msg = "consider introducing a Higher-Ranked lifetime";
|
msg = "consider introducing a higher-ranked lifetime";
|
||||||
should_break = false;
|
should_break = false;
|
||||||
err.note(
|
err.note(
|
||||||
"for more information on Higher-Ranked lifetimes, visit \
|
"for more information on higher-ranked lifetimes, visit \
|
||||||
https://doc.rust-lang.org/nomicon/hrtb.html",
|
https://doc.rust-lang.org/nomicon/hrtb.html",
|
||||||
);
|
);
|
||||||
let suggestion = match span_type {
|
let suggestion = match span_type {
|
||||||
HRLTSpanType::Empty => "for<'r> ",
|
HRLTSpanType::Empty => "for<'a> ",
|
||||||
HRLTSpanType::Tail => ", 'r",
|
HRLTSpanType::Tail => ", 'a",
|
||||||
};
|
};
|
||||||
(*span, suggestion.to_string())
|
(*span, suggestion.to_string())
|
||||||
}
|
}
|
||||||
|
@ -1520,7 +1520,7 @@ crate fn add_missing_lifetime_specifiers_label(
|
||||||
if let Ok(snippet) = source_map.span_to_snippet(param.span) {
|
if let Ok(snippet) = source_map.span_to_snippet(param.span) {
|
||||||
if snippet.starts_with("&") && !snippet.starts_with("&'") {
|
if snippet.starts_with("&") && !snippet.starts_with("&'") {
|
||||||
introduce_suggestion
|
introduce_suggestion
|
||||||
.push((param.span, format!("&'r {}", &snippet[1..])));
|
.push((param.span, format!("&'a {}", &snippet[1..])));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1543,13 +1543,13 @@ crate fn add_missing_lifetime_specifiers_label(
|
||||||
suggest_existing(err, format!("{}<{}>", snippet, name));
|
suggest_existing(err, format!("{}<{}>", snippet, name));
|
||||||
}
|
}
|
||||||
(0, _, Some("&")) => {
|
(0, _, Some("&")) => {
|
||||||
suggest_new(err, "&'r ");
|
suggest_new(err, "&'a ");
|
||||||
}
|
}
|
||||||
(0, _, Some("'_")) => {
|
(0, _, Some("'_")) => {
|
||||||
suggest_new(err, "'r");
|
suggest_new(err, "'a");
|
||||||
}
|
}
|
||||||
(0, _, Some(snippet)) if !snippet.ends_with(">") => {
|
(0, _, Some(snippet)) if !snippet.ends_with(">") => {
|
||||||
suggest_new(err, &format!("{}<'r>", snippet));
|
suggest_new(err, &format!("{}<'a>", snippet));
|
||||||
}
|
}
|
||||||
_ => {
|
_ => {
|
||||||
err.span_label(span, "expected lifetime parameter");
|
err.span_label(span, "expected lifetime parameter");
|
||||||
|
|
|
@ -1873,7 +1873,7 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
|
||||||
err.span_suggestion(
|
err.span_suggestion(
|
||||||
*span,
|
*span,
|
||||||
&format!(
|
&format!(
|
||||||
"consider introducing a Higher-Ranked lifetime `{}` here",
|
"consider introducing a higher-ranked lifetime `{}` here",
|
||||||
lifetime_ref
|
lifetime_ref
|
||||||
),
|
),
|
||||||
match span_type {
|
match span_type {
|
||||||
|
@ -1884,7 +1884,7 @@ impl<'a, 'tcx> LifetimeContext<'a, 'tcx> {
|
||||||
Applicability::MaybeIncorrect,
|
Applicability::MaybeIncorrect,
|
||||||
);
|
);
|
||||||
err.note(
|
err.note(
|
||||||
"for more information on Higher-Ranked lifetimes, visit \
|
"for more information on higher-ranked lifetimes, visit \
|
||||||
https://doc.rust-lang.org/nomicon/hrtb.html",
|
https://doc.rust-lang.org/nomicon/hrtb.html",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,8 @@ LL | x: &bool,
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct Foo<'r> {
|
LL | struct Foo<'a> {
|
||||||
LL | x: &'r bool,
|
LL | x: &'a bool,
|
||||||
|
|
|
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -18,9 +18,9 @@ LL | B(&bool),
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | enum Bar<'r> {
|
LL | enum Bar<'a> {
|
||||||
LL | A(u8),
|
LL | A(u8),
|
||||||
LL | B(&'r bool),
|
LL | B(&'a bool),
|
||||||
|
|
|
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -31,7 +31,7 @@ LL | type MyStr = &str;
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | type MyStr<'r> = &'r str;
|
LL | type MyStr<'a> = &'a str;
|
||||||
| ^^^^ ^^^
|
| ^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -42,8 +42,8 @@ LL | baz: Baz,
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct Quux<'r> {
|
LL | struct Quux<'a> {
|
||||||
LL | baz: Baz<'r>,
|
LL | baz: Baz<'a>,
|
||||||
|
|
|
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifiers
|
error[E0106]: missing lifetime specifiers
|
||||||
|
|
|
@ -6,7 +6,7 @@ LL | type Output = &i32;
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | type Output<'r> = &'r i32;
|
LL | type Output<'a> = &'a i32;
|
||||||
| ^^^^ ^^^
|
| ^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -17,7 +17,7 @@ LL | type Output = &'_ i32;
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | type Output<'r> = &'r i32;
|
LL | type Output<'a> = &'a i32;
|
||||||
| ^^^^ ^^
|
| ^^^^ ^^
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -6,7 +6,7 @@ LL | struct Heartbreak(Betrayal);
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct Heartbreak<'r>(Betrayal<'r>);
|
LL | struct Heartbreak<'a>(Betrayal<'a>);
|
||||||
| ^^^^ ^^^^^^^^^^^^
|
| ^^^^ ^^^^^^^^^^^^
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | type Foo = fn(&u8, &u8) -> &u8;
|
||||||
| ^^^ ^^^
|
| ^^^ ^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | type Foo<'r> = fn(&'r u8, &'r u8) -> &'r u8;
|
LL | type Foo<'a> = fn(&'a u8, &'a u8) -> &'a u8;
|
||||||
| ^^^^ ^^^^^^ ^^^^^^ ^^^
|
| ^^^^ ^^^^^^ ^^^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -25,14 +25,14 @@ help: this function's return type contains a borrowed value, but the signature d
|
||||||
|
|
|
|
||||||
LL | fn bar<F: Fn(&u8, &u8) -> &u8>(f: &F) {}
|
LL | fn bar<F: Fn(&u8, &u8) -> &u8>(f: &F) {}
|
||||||
| ^^^ ^^^
|
| ^^^ ^^^
|
||||||
= note: for more information on Higher-Ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
= note: for more information on higher-ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
||||||
help: consider introducing a Higher-Ranked lifetime
|
help: consider introducing a higher-ranked lifetime
|
||||||
|
|
|
|
||||||
LL | fn bar<F: for<'r> Fn(&'r u8, &'r u8) -> &'r u8>(f: &F) {}
|
LL | fn bar<F: for<'a> Fn(&'a u8, &'a u8) -> &'a u8>(f: &F) {}
|
||||||
| ^^^^^^^ ^^^^^^ ^^^^^^ ^^^
|
| ^^^^^^^ ^^^^^^ ^^^^^^ ^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn bar<'r, F: Fn(&'r u8, &'r u8) -> &'r u8>(f: &F) {}
|
LL | fn bar<'a, F: Fn(&'a u8, &'a u8) -> &'a u8>(f: &F) {}
|
||||||
| ^^^ ^^^^^^ ^^^^^^ ^^^
|
| ^^^ ^^^^^^ ^^^^^^ ^^^
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | fn parse_type(iter: Box<dyn Iterator<Item=&str>+'static>) -> &str { iter.ne
|
||||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn parse_type<'r>(iter: Box<dyn Iterator<Item=&str>+'static>) -> &'r str { iter.next() }
|
LL | fn parse_type<'a>(iter: Box<dyn Iterator<Item=&str>+'static>) -> &'a str { iter.next() }
|
||||||
| ^^^^ ^^^
|
| ^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | fn f(a: &S, b: i32) -> &i32 {
|
||||||
| ^^
|
| ^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn f<'r>(a: &'r S, b: i32) -> &'r i32 {
|
LL | fn f<'a>(a: &'a S, b: i32) -> &'a i32 {
|
||||||
| ^^^^ ^^^^^ ^^^
|
| ^^^^ ^^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -27,7 +27,7 @@ LL | fn g(a: &S, b: bool, c: &i32) -> &i32 {
|
||||||
| ^^ ^^^^
|
| ^^ ^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn g<'r>(a: &'r S, b: bool, c: &'r i32) -> &'r i32 {
|
LL | fn g<'a>(a: &'a S, b: bool, c: &'a i32) -> &'a i32 {
|
||||||
| ^^^^ ^^^^^ ^^^^^^^ ^^^
|
| ^^^^ ^^^^^ ^^^^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -43,7 +43,7 @@ LL | fn h(a: &bool, b: bool, c: &S, d: &i32) -> &i32 {
|
||||||
| ^^^^^ ^^ ^^^^
|
| ^^^^^ ^^ ^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn h<'r>(a: &'r bool, b: bool, c: &'r S, d: &'r i32) -> &'r i32 {
|
LL | fn h<'a>(a: &'a bool, b: bool, c: &'a S, d: &'a i32) -> &'a i32 {
|
||||||
| ^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^
|
| ^^^^ ^^^^^^^^ ^^^^^ ^^^^^^^ ^^^
|
||||||
|
|
||||||
error: aborting due to 3 previous errors
|
error: aborting due to 3 previous errors
|
||||||
|
|
|
@ -19,7 +19,7 @@ LL | fn g(_x: &isize, _y: &isize) -> &isize {
|
||||||
| ^^^^^^ ^^^^^^
|
| ^^^^^^ ^^^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn g<'r>(_x: &'r isize, _y: &'r isize) -> &'r isize {
|
LL | fn g<'a>(_x: &'a isize, _y: &'a isize) -> &'a isize {
|
||||||
| ^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^
|
| ^^^^ ^^^^^^^^^ ^^^^^^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -35,7 +35,7 @@ LL | fn h(_x: &Foo) -> &isize {
|
||||||
| ^^^^
|
| ^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn h<'r>(_x: &'r Foo) -> &'r isize {
|
LL | fn h<'a>(_x: &'a Foo) -> &'a isize {
|
||||||
| ^^^^ ^^^^^^^ ^^^
|
| ^^^^ ^^^^^^^ ^^^
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | fn foo(x: &i32, y: &i32) -> &i32 {
|
||||||
| ^^^^ ^^^^
|
| ^^^^ ^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn foo<'r>(x: &'r i32, y: &'r i32) -> &'r i32 {
|
LL | fn foo<'a>(x: &'a i32, y: &'a i32) -> &'a i32 {
|
||||||
| ^^^^ ^^^^^^^ ^^^^^^^ ^^^
|
| ^^^^ ^^^^^^^ ^^^^^^^ ^^^
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -6,8 +6,8 @@ LL | a: &u64
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct A<'r> {
|
LL | struct A<'a> {
|
||||||
LL | a: &'r u64
|
LL | a: &'a u64
|
||||||
|
|
|
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -6,8 +6,8 @@ LL | Bar(&isize)
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | enum Foo<'r> {
|
LL | enum Foo<'a> {
|
||||||
LL | Bar(&'r isize)
|
LL | Bar(&'a isize)
|
||||||
|
|
|
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -6,8 +6,8 @@ LL | x: &isize
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct Foo<'r> {
|
LL | struct Foo<'a> {
|
||||||
LL | x: &'r isize
|
LL | x: &'a isize
|
||||||
|
|
|
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -89,12 +89,12 @@ error[E0261]: use of undeclared lifetime name `'b`
|
||||||
LL | ... &'b isize,
|
LL | ... &'b isize,
|
||||||
| ^^ undeclared lifetime
|
| ^^ undeclared lifetime
|
||||||
|
|
|
|
||||||
= note: for more information on Higher-Ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
= note: for more information on higher-ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
||||||
help: consider introducing lifetime `'b` here
|
help: consider introducing lifetime `'b` here
|
||||||
|
|
|
|
||||||
LL | fn fn_types<'b>(a: &'a isize,
|
LL | fn fn_types<'b>(a: &'a isize,
|
||||||
| ^^^^
|
| ^^^^
|
||||||
help: consider introducing a Higher-Ranked lifetime `'b` here
|
help: consider introducing a higher-ranked lifetime `'b` here
|
||||||
|
|
|
|
||||||
LL | b: Box<dyn for<'a, 'b> FnOnce(&'a isize,
|
LL | b: Box<dyn for<'a, 'b> FnOnce(&'a isize,
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
@ -105,12 +105,12 @@ error[E0261]: use of undeclared lifetime name `'b`
|
||||||
LL | ... &'b isize)>,
|
LL | ... &'b isize)>,
|
||||||
| ^^ undeclared lifetime
|
| ^^ undeclared lifetime
|
||||||
|
|
|
|
||||||
= note: for more information on Higher-Ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
= note: for more information on higher-ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
||||||
help: consider introducing lifetime `'b` here
|
help: consider introducing lifetime `'b` here
|
||||||
|
|
|
|
||||||
LL | fn fn_types<'b>(a: &'a isize,
|
LL | fn fn_types<'b>(a: &'a isize,
|
||||||
| ^^^^
|
| ^^^^
|
||||||
help: consider introducing a Higher-Ranked lifetime `'b` here
|
help: consider introducing a higher-ranked lifetime `'b` here
|
||||||
|
|
|
|
||||||
LL | b: Box<dyn for<'a, 'b> FnOnce(&'a isize,
|
LL | b: Box<dyn for<'a, 'b> FnOnce(&'a isize,
|
||||||
| ^^^^
|
| ^^^^
|
||||||
|
|
|
@ -4,12 +4,12 @@ error[E0261]: use of undeclared lifetime name `'a`
|
||||||
LL | struct S1<F: Fn(&i32, &i32) -> &'a i32>(F);
|
LL | struct S1<F: Fn(&i32, &i32) -> &'a i32>(F);
|
||||||
| ^^ undeclared lifetime
|
| ^^ undeclared lifetime
|
||||||
|
|
|
|
||||||
= note: for more information on Higher-Ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
= note: for more information on higher-ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
||||||
help: consider introducing lifetime `'a` here
|
help: consider introducing lifetime `'a` here
|
||||||
|
|
|
|
||||||
LL | struct S1<'a, F: Fn(&i32, &i32) -> &'a i32>(F);
|
LL | struct S1<'a, F: Fn(&i32, &i32) -> &'a i32>(F);
|
||||||
| ^^^
|
| ^^^
|
||||||
help: consider introducing a Higher-Ranked lifetime `'a` here
|
help: consider introducing a higher-ranked lifetime `'a` here
|
||||||
|
|
|
|
||||||
LL | struct S1<F: for<'a> Fn(&i32, &i32) -> &'a i32>(F);
|
LL | struct S1<F: for<'a> Fn(&i32, &i32) -> &'a i32>(F);
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
@ -25,14 +25,14 @@ help: this function's return type contains a borrowed value, but the signature d
|
||||||
|
|
|
|
||||||
LL | struct S2<F: Fn(&i32, &i32) -> &i32>(F);
|
LL | struct S2<F: Fn(&i32, &i32) -> &i32>(F);
|
||||||
| ^^^^ ^^^^
|
| ^^^^ ^^^^
|
||||||
= note: for more information on Higher-Ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
= note: for more information on higher-ranked lifetimes, visit https://doc.rust-lang.org/nomicon/hrtb.html
|
||||||
help: consider introducing a Higher-Ranked lifetime
|
help: consider introducing a higher-ranked lifetime
|
||||||
|
|
|
|
||||||
LL | struct S2<F: for<'r> Fn(&'r i32, &'r i32) -> &'r i32>(F);
|
LL | struct S2<F: for<'a> Fn(&'a i32, &'a i32) -> &'a i32>(F);
|
||||||
| ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^
|
| ^^^^^^^ ^^^^^^^ ^^^^^^^ ^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct S2<'r, F: Fn(&'r i32, &'r i32) -> &'r i32>(F);
|
LL | struct S2<'a, F: Fn(&'a i32, &'a i32) -> &'a i32>(F);
|
||||||
| ^^^ ^^^^^^^ ^^^^^^^ ^^^
|
| ^^^ ^^^^^^^ ^^^^^^^ ^^^
|
||||||
|
|
||||||
error[E0582]: binding for associated type `Output` references lifetime `'a`, which does not appear in the trait input types
|
error[E0582]: binding for associated type `Output` references lifetime `'a`, which does not appear in the trait input types
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | let _: dyn Foo(&isize, &usize) -> &usize;
|
||||||
| ^^^^^^ ^^^^^^
|
| ^^^^^^ ^^^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn main<'r>() {
|
LL | fn main<'a>() {
|
||||||
LL | eq::< dyn for<'a> Foo<(&'a isize,), Output=&'a isize>,
|
LL | eq::< dyn for<'a> Foo<(&'a isize,), Output=&'a isize>,
|
||||||
LL | dyn Foo(&isize) -> &isize >();
|
LL | dyn Foo(&isize) -> &isize >();
|
||||||
LL | eq::< dyn for<'a> Foo<(&'a isize,), Output=(&'a isize, &'a isize)>,
|
LL | eq::< dyn for<'a> Foo<(&'a isize,), Output=(&'a isize, &'a isize)>,
|
||||||
|
|
|
@ -6,8 +6,8 @@ LL | x: Box<dyn Debug + '_>,
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct Foo<'r> {
|
LL | struct Foo<'a> {
|
||||||
LL | x: Box<dyn Debug + 'r>,
|
LL | x: Box<dyn Debug + 'a>,
|
||||||
|
|
|
|
||||||
|
|
||||||
error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
|
error[E0228]: the lifetime bound for this object type cannot be deduced from context; please supply an explicit bound
|
||||||
|
|
|
@ -11,7 +11,7 @@ LL | fn foo(x: &u32, y: &u32) -> &'_ u32 { loop { } }
|
||||||
| ^^^^ ^^^^
|
| ^^^^ ^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn foo<'r>(x: &'r u32, y: &'r u32) -> &'r u32 { loop { } }
|
LL | fn foo<'a>(x: &'a u32, y: &'a u32) -> &'a u32 { loop { } }
|
||||||
| ^^^^ ^^^^^^^ ^^^^^^^ ^^
|
| ^^^^ ^^^^^^^ ^^^^^^^ ^^
|
||||||
|
|
||||||
error: aborting due to previous error
|
error: aborting due to previous error
|
||||||
|
|
|
@ -6,8 +6,8 @@ LL | x: &'_ u32,
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | struct Foo<'r> {
|
LL | struct Foo<'a> {
|
||||||
LL | x: &'r u32,
|
LL | x: &'a u32,
|
||||||
|
|
|
|
||||||
|
|
||||||
error[E0106]: missing lifetime specifier
|
error[E0106]: missing lifetime specifier
|
||||||
|
@ -18,8 +18,8 @@ LL | Variant(&'_ u32),
|
||||||
|
|
|
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | enum Bar<'r> {
|
LL | enum Bar<'a> {
|
||||||
LL | Variant(&'r u32),
|
LL | Variant(&'a u32),
|
||||||
|
|
|
|
||||||
|
|
||||||
error: aborting due to 2 previous errors
|
error: aborting due to 2 previous errors
|
||||||
|
|
|
@ -37,7 +37,7 @@ LL | fn foo2(_: &'_ u8, y: &'_ u8) -> &'_ u8 { y }
|
||||||
| ^^^^^^ ^^^^^^
|
| ^^^^^^ ^^^^^^
|
||||||
help: consider introducing a named lifetime parameter
|
help: consider introducing a named lifetime parameter
|
||||||
|
|
|
|
||||||
LL | fn foo2<'r>(_: &'_ u8, y: &'_ u8) -> &'r u8 { y }
|
LL | fn foo2<'a>(_: &'_ u8, y: &'_ u8) -> &'a u8 { y }
|
||||||
| ^^^^ ^^
|
| ^^^^ ^^
|
||||||
|
|
||||||
error: aborting due to 5 previous errors
|
error: aborting due to 5 previous errors
|
||||||
|
|
Loading…
Add table
Reference in a new issue