// Issue #72117 // edition:2018 use core::future::Future; use core::pin::Pin; pub type BoxFuture<'a, T> = Pin + Send + 'a>>; impl FutureExt for T where T: Future {} trait FutureExt: Future { fn boxed<'a>(self) -> BoxFuture<'a, Self::Output> where Self: Sized + Send + 'a, { Box::pin(self) } } fn main() { let _: BoxFuture<'static, bool> = async {}.boxed(); //~^ ERROR: mismatched types }