// edition:2021 #![feature(return_position_impl_trait_in_trait)] #![allow(incomplete_features)] use std::future::Future; pub trait AsyncTrait { fn async_fn(&self, buff: &[u8]) -> impl Future>; } pub struct Struct; impl AsyncTrait for Struct { fn async_fn<'a>(&self, buff: &'a [u8]) -> impl Future> + 'a { //~^ ERROR `impl` item signature doesn't match `trait` item signature async move { buff.to_vec() } } } fn main() {}