1 error: lifetime may not live long enough
2 --> $DIR/ret-impl-trait-one.rs:10:85
4 LL | async fn async_ret_impl_trait3<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> + 'b {
5 | ________________________________--__--_______________________________________________^
7 | | | lifetime `'b` defined here
8 | | lifetime `'a` defined here
12 | |_^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a`
14 = help: consider adding the following bound: `'a: 'b`
16 error[E0700]: hidden type for `impl Trait<'a>` captures lifetime that does not appear in bounds
17 --> $DIR/ret-impl-trait-one.rs:16:80
19 LL | async fn async_ret_impl_trait1<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> {
20 | ____________________________________--__________________________________________^
22 | | hidden type `(&'a u8, &'b u8)` captures the lifetime `'b` as defined here
28 help: to declare that `impl Trait<'a>` captures `'b`, you can add an explicit `'b` lifetime bound
30 LL | async fn async_ret_impl_trait1<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> + 'b {
33 error: aborting due to 2 previous errors
35 For more information about this error, try `rustc --explain E0700`.