blob: 5370b8844ffa8158db7a3b27867b1bc7b36b623f [file] [log] [blame]
//@ edition:2018
#![feature(type_alias_impl_trait)]
use std::future::Future;
type G<'a, T> = impl Future<Output = ()>;
trait Trait {
type F: Future<Output = ()>;
fn f(&self) -> Self::F;
#[define_opaque(G)]
fn g<'a>(&'a self) -> G<'a, Self>
where
Self: Sized,
{
async move { self.f().await }
//~^ ERROR: the trait bound `T: Trait` is not satisfied
}
}
fn main() {}