3 #![feature(type_alias_impl_trait)]
6 impl SomeTrait for () {}
11 impl<T> MyFuture for T {
16 type Output: SomeTrait;
17 type Future: MyFuture<Output = Result<Self::Output, ()>>;
18 fn func() -> Self::Future;
23 impl ReturnsFuture for Foo {
24 type Output = impl SomeTrait;
25 type Future = impl MyFuture<Output = Result<Self::Output, ()>>;
26 fn func() -> Self::Future {
27 Result::<(), ()>::Err(())