| error: lifetime may not live long enough |
| --> $DIR/ret-impl-trait-one.rs:10:85 |
| | |
| LL | async fn async_ret_impl_trait3<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> + 'b { |
| | ________________________________--__--_______________________________________________^ |
| | | | | |
| | | | lifetime `'b` defined here |
| | | lifetime `'a` defined here |
| LL | | |
| LL | | (a, b) |
| LL | | } |
| | |_^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a` |
| | |
| = help: consider adding the following bound: `'a: 'b` |
| |
| error[E0700]: hidden type for `impl Trait<'a>` captures lifetime that does not appear in bounds |
| --> $DIR/ret-impl-trait-one.rs:16:80 |
| | |
| LL | async fn async_ret_impl_trait1<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> { |
| | ____________________________________--___________________________--------------_^ |
| | | | | |
| | | | opaque type defined here |
| | | hidden type `(&'a u8, &'b u8)` captures the lifetime `'b` as defined here |
| LL | | |
| LL | | (a, b) |
| LL | | } |
| | |_^ |
| | |
| help: add a `use<...>` bound to explicitly capture `'b` |
| | |
| LL | async fn async_ret_impl_trait1<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> + use<'a, 'b> { |
| | +++++++++++++ |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0700`. |