diff options
Diffstat (limited to 'src/test/ui/async-await/multiple-lifetimes/ret-impl-trait-one.rs')
-rw-r--r-- | src/test/ui/async-await/multiple-lifetimes/ret-impl-trait-one.rs | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/test/ui/async-await/multiple-lifetimes/ret-impl-trait-one.rs b/src/test/ui/async-await/multiple-lifetimes/ret-impl-trait-one.rs deleted file mode 100644 index aebc77d26..000000000 --- a/src/test/ui/async-await/multiple-lifetimes/ret-impl-trait-one.rs +++ /dev/null @@ -1,31 +0,0 @@ -// edition:2018 - -// Test that a feature gate is needed to use `impl Trait` as the -// return type of an async. - -trait Trait<'a> { } -impl<T> Trait<'_> for T { } - -// Fails to recognize that both 'a and 'b are mentioned and should thus be accepted -async fn async_ret_impl_trait3<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> + 'b { - //~^ ERROR lifetime may not live long enough - (a, b) -} - -// Only `'a` permitted in return type, not `'b`. -async fn async_ret_impl_trait1<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> { - //~^ ERROR captures lifetime that does not appear in bounds - (a, b) -} - -// As above, but `'b: 'a`, so return type can be inferred to `(&'a u8, -// &'a u8)`. -async fn async_ret_impl_trait2<'a, 'b>(a: &'a u8, b: &'b u8) -> impl Trait<'a> -where - 'b: 'a, -{ - (a, b) -} - -fn main() { -} |