2021-05-07 12:44:32 -05:00
error[E0106]: missing lifetime specifier
--> $DIR/return-elided-lifetime.rs:6:12
|
LL | fn f1() -> &i32 { loop {} }
| ^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
help: consider using the `'static` lifetime
|
LL | fn f1() -> &'static i32 { loop {} }
2022-06-05 11:33:09 -05:00
| +++++++
2021-05-07 12:44:32 -05:00
2022-06-05 11:33:09 -05:00
error[E0106]: missing lifetime specifiers
2021-05-07 12:44:32 -05:00
--> $DIR/return-elided-lifetime.rs:8:14
|
LL | fn f1_() -> (&i32, &i32) { loop {} }
2022-06-05 11:33:09 -05:00
| ^ ^ expected named lifetime parameter
| |
| expected named lifetime parameter
2021-05-07 12:44:32 -05:00
|
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
help: consider using the `'static` lifetime
|
2022-06-05 11:33:09 -05:00
LL | fn f1_() -> (&'static i32, &'static i32) { loop {} }
| +++++++ +++++++
2021-05-07 12:44:32 -05:00
error[E0106]: missing lifetime specifier
2022-06-05 11:33:09 -05:00
--> $DIR/return-elided-lifetime.rs:11:26
2021-05-07 12:44:32 -05:00
|
LL | fn f2(a: i32, b: i32) -> &i32 { loop {} }
| ^ expected named lifetime parameter
|
2022-06-05 11:33:09 -05:00
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
2021-05-07 12:44:32 -05:00
help: consider using the `'static` lifetime
|
LL | fn f2(a: i32, b: i32) -> &'static i32 { loop {} }
2022-06-05 11:33:09 -05:00
| +++++++
2021-05-07 12:44:32 -05:00
2022-06-05 11:33:09 -05:00
error[E0106]: missing lifetime specifiers
--> $DIR/return-elided-lifetime.rs:13:28
2021-05-07 12:44:32 -05:00
|
LL | fn f2_(a: i32, b: i32) -> (&i32, &i32) { loop {} }
2022-06-05 11:33:09 -05:00
| ^ ^ expected named lifetime parameter
| |
| expected named lifetime parameter
2021-05-07 12:44:32 -05:00
|
2022-06-05 11:33:09 -05:00
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
2021-05-07 12:44:32 -05:00
help: consider using the `'static` lifetime
|
2022-06-05 11:33:09 -05:00
LL | fn f2_(a: i32, b: i32) -> (&'static i32, &'static i32) { loop {} }
| +++++++ +++++++
2021-05-07 12:44:32 -05:00
error[E0106]: missing lifetime specifier
2022-06-05 11:33:09 -05:00
--> $DIR/return-elided-lifetime.rs:17:17
2021-05-07 12:44:32 -05:00
|
LL | fn f3(s: &S) -> &i32 { loop {} }
| -- ^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but the signature does not say which one of `s`'s 3 lifetimes it is borrowed from
help: consider introducing a named lifetime parameter
|
2022-06-05 11:33:09 -05:00
LL | fn f3<'a>(s: &'a S<'a, 'a>) -> &'a i32 { loop {} }
| ++++ ++ ++++++++ ++
2021-05-07 12:44:32 -05:00
2022-06-05 11:33:09 -05:00
error[E0106]: missing lifetime specifiers
--> $DIR/return-elided-lifetime.rs:19:26
2021-05-07 12:44:32 -05:00
|
LL | fn f3_(s: &S, t: &S) -> (&i32, &i32) { loop {} }
2022-06-05 11:33:09 -05:00
| -- -- ^ ^ expected named lifetime parameter
| |
| expected named lifetime parameter
2021-05-07 12:44:32 -05:00
|
= help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from one of `s`'s 3 lifetimes or one of `t`'s 3 lifetimes
help: consider introducing a named lifetime parameter
|
2022-06-05 11:33:09 -05:00
LL | fn f3_<'a>(s: &'a S<'a, 'a>, t: &'a S<'a, 'a>) -> (&'a i32, &'a i32) { loop {} }
| ++++ ++ ++++++++ ++ ++++++++ ++ ++
2021-05-07 12:44:32 -05:00
error[E0106]: missing lifetime specifier
2022-06-05 11:33:09 -05:00
--> $DIR/return-elided-lifetime.rs:22:42
2021-05-07 12:44:32 -05:00
|
LL | fn f4<'a, 'b>(a: &'a i32, b: &'b i32) -> &i32 { loop {} }
| ------- ------- ^ expected named lifetime parameter
|
2022-06-05 11:33:09 -05:00
= help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments
2021-05-07 12:44:32 -05:00
note: these named lifetimes are available to use
2022-06-05 11:33:09 -05:00
--> $DIR/return-elided-lifetime.rs:22:7
2021-05-07 12:44:32 -05:00
|
LL | fn f4<'a, 'b>(a: &'a i32, b: &'b i32) -> &i32 { loop {} }
| ^^ ^^
help: consider using one of the available lifetimes here
|
LL | fn f4<'a, 'b>(a: &'a i32, b: &'b i32) -> &'lifetime i32 { loop {} }
2021-08-12 13:54:29 -05:00
| +++++++++
2021-05-07 12:44:32 -05:00
2022-06-05 11:33:09 -05:00
error[E0106]: missing lifetime specifiers
--> $DIR/return-elided-lifetime.rs:24:44
2021-05-07 12:44:32 -05:00
|
LL | fn f4_<'a, 'b>(a: &'a i32, b: &'b i32) -> (&i32, &i32) { loop {} }
2022-06-05 11:33:09 -05:00
| ------- ------- ^ ^ expected named lifetime parameter
| |
| expected named lifetime parameter
2021-05-07 12:44:32 -05:00
|
2022-06-05 11:33:09 -05:00
= help: this function's return type contains a borrowed value with an elided lifetime, but the lifetime cannot be derived from the arguments
2021-05-07 12:44:32 -05:00
note: these named lifetimes are available to use
2022-06-05 11:33:09 -05:00
--> $DIR/return-elided-lifetime.rs:24:8
2021-05-07 12:44:32 -05:00
|
LL | fn f4_<'a, 'b>(a: &'a i32, b: &'b i32) -> (&i32, &i32) { loop {} }
| ^^ ^^
help: consider using one of the available lifetimes here
|
2022-06-05 11:33:09 -05:00
LL | fn f4_<'a, 'b>(a: &'a i32, b: &'b i32) -> (&'lifetime i32, &'lifetime i32) { loop {} }
| +++++++++ +++++++++
2021-05-07 12:44:32 -05:00
error[E0106]: missing lifetime specifier
2022-06-05 11:33:09 -05:00
--> $DIR/return-elided-lifetime.rs:27:35
2021-05-07 12:44:32 -05:00
|
LL | fn f5<'a>(a: &'a i32, b: &i32) -> &i32 { loop {} }
| ------- ---- ^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `a` or `b`
help: consider using the `'a` lifetime
|
LL | fn f5<'a>(a: &'a i32, b: &i32) -> &'a i32 { loop {} }
2022-06-05 11:33:09 -05:00
| ++
2021-05-07 12:44:32 -05:00
2022-06-05 11:33:09 -05:00
error[E0106]: missing lifetime specifiers
--> $DIR/return-elided-lifetime.rs:29:37
2021-05-07 12:44:32 -05:00
|
LL | fn f5_<'a>(a: &'a i32, b: &i32) -> (&i32, &i32) { loop {} }
2022-06-05 11:33:09 -05:00
| ------- ---- ^ ^ expected named lifetime parameter
| |
| expected named lifetime parameter
2021-05-07 12:44:32 -05:00
|
= help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `a` or `b`
help: consider using the `'a` lifetime
|
2022-06-05 11:33:09 -05:00
LL | fn f5_<'a>(a: &'a i32, b: &i32) -> (&'a i32, &'a i32) { loop {} }
| ++ ++
2021-05-07 12:44:32 -05:00
2022-06-05 11:33:09 -05:00
error: aborting due to 10 previous errors
2021-05-07 12:44:32 -05:00
For more information about this error, try `rustc --explain E0106`.