2022-12-26 17:43:31 -06:00
|
|
|
error[E0311]: the parameter type `impl Sized` may not live long enough
|
|
|
|
--> $DIR/issue-105544.rs:7:5
|
|
|
|
|
|
|
|
|
LL | fn foo(d: impl Sized, p: &mut ()) -> impl Sized + '_ {
|
2023-09-17 09:32:02 -05:00
|
|
|
| ------- the parameter type `impl Sized` must be valid for the anonymous lifetime defined here...
|
|
|
|
LL |
|
2022-12-26 17:43:31 -06:00
|
|
|
LL | (d, p)
|
2023-09-17 09:32:02 -05:00
|
|
|
| ^^^^^^ ...so that the type `impl Sized` will meet its required lifetime bounds
|
|
|
|
|
|
2023-10-08 05:06:17 -05:00
|
|
|
help: consider adding an explicit lifetime bound
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
2023-09-07 20:35:51 -05:00
|
|
|
LL | fn foo<'a>(d: impl Sized + 'a, p: &'a mut ()) -> impl Sized + 'a {
|
|
|
|
| ++++ ++++ ++ ~~
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
error[E0309]: the parameter type `impl Sized` may not live long enough
|
2023-09-17 09:32:02 -05:00
|
|
|
--> $DIR/issue-105544.rs:15:5
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
2023-09-17 09:32:02 -05:00
|
|
|
LL | fn foo1<'b>(d: impl Sized, p: &'b mut ()) -> impl Sized + '_ {
|
|
|
|
| -- the parameter type `impl Sized` must be valid for the lifetime `'b` as defined here...
|
|
|
|
...
|
2022-12-26 17:43:31 -06:00
|
|
|
LL | (d, p)
|
|
|
|
| ^^^^^^ ...so that the type `impl Sized` will meet its required lifetime bounds
|
|
|
|
|
|
2023-10-08 05:06:17 -05:00
|
|
|
help: consider adding an explicit lifetime bound
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
|
LL | fn foo1<'b>(d: impl Sized + 'b, p: &'b mut ()) -> impl Sized + '_ {
|
|
|
|
| ++++
|
|
|
|
|
|
|
|
error[E0311]: the parameter type `impl Sized + 'a` may not live long enough
|
2023-09-17 09:32:02 -05:00
|
|
|
--> $DIR/issue-105544.rs:21:5
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
|
LL | fn foo2<'a>(d: impl Sized + 'a, p: &mut ()) -> impl Sized + '_ {
|
2023-09-17 09:32:02 -05:00
|
|
|
| ------- the parameter type `impl Sized + 'a` must be valid for the anonymous lifetime defined here...
|
|
|
|
LL |
|
2022-12-26 17:43:31 -06:00
|
|
|
LL | (d, p)
|
2023-09-17 09:32:02 -05:00
|
|
|
| ^^^^^^ ...so that the type `impl Sized + 'a` will meet its required lifetime bounds
|
|
|
|
|
|
2023-10-08 05:06:17 -05:00
|
|
|
help: consider adding an explicit lifetime bound
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
2023-09-07 20:35:51 -05:00
|
|
|
LL | fn foo2<'b, 'a>(d: impl Sized + 'a + 'b, p: &'b mut ()) -> impl Sized + 'b {
|
|
|
|
| +++ ++++ ++ ~~
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
error[E0311]: the parameter type `T` may not live long enough
|
2023-09-17 09:32:02 -05:00
|
|
|
--> $DIR/issue-105544.rs:28:5
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
|
LL | fn bar<T : Sized>(d: T, p: & mut ()) -> impl Sized + '_ {
|
2023-09-17 09:32:02 -05:00
|
|
|
| -------- the parameter type `T` must be valid for the anonymous lifetime defined here...
|
|
|
|
LL |
|
2022-12-26 17:43:31 -06:00
|
|
|
LL | (d, p)
|
2023-09-17 09:32:02 -05:00
|
|
|
| ^^^^^^ ...so that the type `T` will meet its required lifetime bounds
|
|
|
|
|
|
2023-10-08 05:06:17 -05:00
|
|
|
help: consider adding an explicit lifetime bound
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
2023-09-07 20:35:51 -05:00
|
|
|
LL | fn bar<'a, T : Sized + 'a>(d: T, p: &'a mut ()) -> impl Sized + 'a {
|
|
|
|
| +++ ++++ ++ ~~
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
error[E0309]: the parameter type `T` may not live long enough
|
2023-09-17 09:32:02 -05:00
|
|
|
--> $DIR/issue-105544.rs:36:5
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
2023-09-17 09:32:02 -05:00
|
|
|
LL | fn bar1<'b, T : Sized>(d: T, p: &'b mut ()) -> impl Sized + '_ {
|
|
|
|
| -- the parameter type `T` must be valid for the lifetime `'b` as defined here...
|
|
|
|
...
|
2022-12-26 17:43:31 -06:00
|
|
|
LL | (d, p)
|
|
|
|
| ^^^^^^ ...so that the type `T` will meet its required lifetime bounds
|
|
|
|
|
|
2023-10-08 05:06:17 -05:00
|
|
|
help: consider adding an explicit lifetime bound
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
|
LL | fn bar1<'b, T : Sized + 'b>(d: T, p: &'b mut ()) -> impl Sized + '_ {
|
|
|
|
| ++++
|
|
|
|
|
|
|
|
error[E0311]: the parameter type `T` may not live long enough
|
2023-09-17 09:32:02 -05:00
|
|
|
--> $DIR/issue-105544.rs:42:5
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
|
LL | fn bar2<'a, T : Sized + 'a>(d: T, p: &mut ()) -> impl Sized + '_ {
|
2023-09-17 09:32:02 -05:00
|
|
|
| ------- the parameter type `T` must be valid for the anonymous lifetime defined here...
|
|
|
|
LL |
|
2022-12-26 17:43:31 -06:00
|
|
|
LL | (d, p)
|
2023-09-17 09:32:02 -05:00
|
|
|
| ^^^^^^ ...so that the type `T` will meet its required lifetime bounds
|
|
|
|
|
|
2023-10-08 05:06:17 -05:00
|
|
|
help: consider adding an explicit lifetime bound
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
2023-09-07 20:35:51 -05:00
|
|
|
LL | fn bar2<'b, 'a, T : Sized + 'a + 'b>(d: T, p: &'b mut ()) -> impl Sized + 'b {
|
|
|
|
| +++ ++++ ++ ~~
|
2022-12-26 17:43:31 -06:00
|
|
|
|
|
|
|
error: aborting due to 6 previous errors
|
|
|
|
|
|
|
|
Some errors have detailed explanations: E0309, E0311.
|
|
|
|
For more information about an error, try `rustc --explain E0309`.
|