2022-10-23 22:33:42 -05:00
|
|
|
// check-pass
|
|
|
|
// edition:2021
|
2023-03-17 12:05:26 -05:00
|
|
|
// [next] compile-flags: -Zlower-impl-trait-in-trait-to-assoc-ty
|
|
|
|
// revisions: current next
|
2022-10-23 22:33:42 -05:00
|
|
|
|
|
|
|
#![feature(async_fn_in_trait, return_position_impl_trait_in_trait)]
|
|
|
|
#![allow(incomplete_features)]
|
|
|
|
|
|
|
|
pub trait Foo {
|
|
|
|
async fn bar<'a: 'a>(&'a mut self);
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Foo for () {
|
|
|
|
async fn bar<'a: 'a>(&'a mut self) {}
|
|
|
|
}
|
|
|
|
|
|
|
|
pub trait Foo2 {
|
|
|
|
fn bar<'a: 'a>(&'a mut self) -> impl Sized + 'a;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Foo2 for () {
|
|
|
|
fn bar<'a: 'a>(&'a mut self) -> impl Sized + 'a {}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|