]> git.lizzy.rs Git - rust.git/blob - tests/ui/type-alias-impl-trait/future.rs
Rollup merge of #107354 - tspiteri:source-serif-4.005, r=GuillaumeGomez
[rust.git] / tests / ui / type-alias-impl-trait / future.rs
1 #![feature(type_alias_impl_trait)]
2
3 // edition:2021
4 // compile-flags: --crate-type=lib
5
6 use std::future::Future;
7
8 trait Bar {
9     fn bar(&self);
10 }
11
12 type FooFuture<B> = impl Future<Output = ()>;
13
14 fn foo<B: Bar>(bar: B) -> FooFuture<B> {
15     async move { bar.bar() }
16     //~^ ERROR: the trait bound `B: Bar` is not satisfied
17 }
18
19 pub fn mainish(ctx: &mut std::task::Context) {
20     let boom: FooFuture<u32> = unsafe { core::mem::zeroed() };
21     Box::pin(boom).as_mut().poll(ctx);
22 }