]>
git.proxmox.com Git - rustc.git/blob - src/test/ui/generic-associated-types/issue-88287.rs
3 #![feature(type_alias_impl_trait)]
5 use std
::future
::Future
;
7 trait SearchableResource
<Criteria
> {
11 trait SearchableResourceExt
<Criteria
>: SearchableResource
<Criteria
> {
12 type Future
<'f
, A
: 'f
+ ?Sized
, B
: 'f
>: Future
<Output
= Result
<Vec
<A
::SearchResult
>, ()>> + 'f
14 A
: SearchableResource
<B
>,
17 fn search
<'c
>(&'c
self, client
: &'
c ()) -> Self::Future
<'c
, Self, Criteria
>;
20 type SearchFutureTy
<'f
, A
, B
: 'f
>
22 A
: SearchableResource
<B
> + ?Sized
+ 'f
,
23 = impl Future
<Output
= Result
<Vec
<A
::SearchResult
>, ()>> + 'f
;
24 impl<T
, Criteria
> SearchableResourceExt
<Criteria
> for T
26 T
: SearchableResource
<Criteria
>,
28 type Future
<'f
, A
, B
: 'f
> = SearchFutureTy
<'f
, A
, B
>
30 A
: SearchableResource
<B
> + ?Sized
+ 'f
,
33 fn search
<'c
>(&'c
self, _client
: &'
c ()) -> Self::Future
<'c
, Self, Criteria
> {
34 async
move { todo!() }
35 //~^ ERROR: the size for values of type `A` cannot be known at compilation time