]> git.proxmox.com Git - rustc.git/blob - src/test/ui/generic-associated-types/issue-86787.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / generic-associated-types / issue-86787.rs
1 // check-fail
2
3 enum Either<L, R> {
4 Left(L),
5 Right(R),
6 }
7
8 pub trait HasChildrenOf {
9 type T;
10 type TRef<'a>;
11 //~^ missing required
12
13 fn ref_children<'a>(&'a self) -> Vec<Self::TRef<'a>>;
14 fn take_children(self) -> Vec<Self::T>;
15 }
16
17 impl<Left, Right> HasChildrenOf for Either<Left, Right>
18 where
19 Left: HasChildrenOf,
20 Right: HasChildrenOf,
21 {
22 type T = Either<Left::T, Right::T>;
23 type TRef<'a> = Either<&'a Left::T, &'a Right::T>
24 where
25 <Left as HasChildrenOf>::T: 'a,
26 <Right as HasChildrenOf>::T: 'a;
27
28 fn ref_children<'a>(&'a self) -> Vec<Self::TRef<'a>> {
29 todo!()
30 }
31
32 fn take_children(self) -> Vec<Self::T> {
33 todo!()
34 }
35 }
36
37 fn main() {}