2022-12-04 04:22:20 -06:00
|
|
|
// check-pass
|
2022-10-03 20:27:11 -05:00
|
|
|
// edition: 2021
|
|
|
|
|
|
|
|
#![feature(async_fn_in_trait)]
|
|
|
|
#![allow(incomplete_features)]
|
|
|
|
|
|
|
|
use std::fmt::Debug;
|
|
|
|
|
|
|
|
trait MyTrait<'a, 'b, T> {
|
2023-09-26 15:20:25 -05:00
|
|
|
#[allow(async_fn_in_trait)]
|
2022-10-03 20:27:11 -05:00
|
|
|
async fn foo(&'a self, key: &'b T) -> (&'a Self, &'b T) where T: Debug + Sized;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<'a, 'b, T, U> MyTrait<'a, 'b, T> for U {
|
|
|
|
async fn foo(&'a self, key: &'b T) -> (&'a U, &'b T) {
|
|
|
|
(self, key)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|