blob: 6a66a0c60c6d6d8b2fb5624ef82b1085adf3c078 [file] [log] [blame]
//@ edition:2018
#![feature(impl_trait_in_assoc_type)]
use std::future::Future;
trait MakeFut {
type Fut<'a>
where
Self: 'a;
fn make_fut<'a>(&'a self) -> Self::Fut<'a>;
}
impl MakeFut for &'_ mut () {
type Fut<'a> = impl Future<Output = ()>;
//~^ ERROR: the type `&mut ()` does not fulfill the required lifetime
fn make_fut<'a>(&'a self) -> Self::Fut<'a> {
async { () }
}
}
fn main() {}