summaryrefslogtreecommitdiffstats
path: root/tests/ui/suggestions/box-future-wrong-output.rs
blob: d49819fcb14cfe9832d853e6c37e2a5b2dbd0a55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// 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
}