blob: 2d45f1b6a51a5f4c7bffaab903ad0bb6c4975c6a [file] [log] [blame] [edit]
// Issue #72117
//@ edition:2018
use core::future::Future;
use core::pin::Pin;
pub type BoxFuture<'a, T> = Pin<Box<dyn Future<Output = T> + Send + 'a>>;
impl<T: ?Sized> 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
}