rust/tests/ui/suggestions/impl-trait-missing-lifetime.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

54 lines
2.8 KiB
Plaintext
Raw Normal View History

error[E0106]: missing lifetime specifier
2022-06-05 16:33:09 +00:00
--> $DIR/impl-trait-missing-lifetime.rs:9:54
|
2022-06-05 16:33:09 +00:00
LL | fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
| ^^ expected named lifetime parameter
|
2022-06-05 16:33:09 +00: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, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
|
2022-06-05 16:33:09 +00:00
LL | fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
| ~~~~~~~
help: consider introducing a named lifetime parameter
|
LL | fn g<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
| ++++ ~~~ ~~~
2023-11-15 18:00:43 +00:00
help: alternatively, you might want to return an owned value
|
LL - fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
LL + fn g(mut x: impl Iterator<Item = &'_ ()>) -> Option<()> { x.next() }
|
2022-06-22 20:19:02 +00:00
error[E0106]: missing lifetime specifier
2022-06-05 16:33:09 +00:00
--> $DIR/impl-trait-missing-lifetime.rs:16:60
2022-06-22 20:19:02 +00:00
|
2022-06-05 16:33:09 +00:00
LL | async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
| ^^ expected named lifetime parameter
2022-06-22 20:19:02 +00:00
|
2022-06-05 16:33:09 +00: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, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
2022-06-22 20:19:02 +00:00
|
2022-06-05 16:33:09 +00:00
LL | async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'static ()> { x.next() }
| ~~~~~~~
help: consider introducing a named lifetime parameter
|
LL | async fn i<'a>(mut x: impl Iterator<Item = &'a ()>) -> Option<&'a ()> { x.next() }
| ++++ ~~~ ~~~
2023-11-15 18:00:43 +00:00
help: alternatively, you might want to return an owned value
|
LL - async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
LL + async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<()> { x.next() }
|
2022-06-22 20:19:02 +00:00
2022-06-05 16:33:09 +00:00
error: lifetime may not live long enough
--> $DIR/impl-trait-missing-lifetime.rs:16:69
|
LL | async fn i(mut x: impl Iterator<Item = &'_ ()>) -> Option<&'_ ()> { x.next() }
2023-10-02 21:31:46 +00:00
| ----------------------------------------------------------------- ^^^^^^^^ returning this value requires that `'1` must outlive `'static`
| |
| return type `impl Future<Output = Option<&'static ()>>` contains a lifetime `'1`
2022-06-05 16:33:09 +00:00
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0106`.