| pub trait TraitE { | |
| type I3; | |
| } | |
| pub trait TraitD { | |
| type I3; | |
| } | |
| pub trait TraitC { | |
| type I1; | |
| type I2; | |
| } | |
| pub trait TraitB { | |
| type Item; | |
| } | |
| pub trait TraitA<G1, G2, G3> { | |
| fn baz< | |
| U: TraitC<I1 = G1, I2 = G2> + TraitD<I3 = G3> + TraitE, | |
| V: TraitD<I3 = G1> | |
| >(_: U, _: V) -> Self | |
| where | |
| U: TraitB, | |
| <U as TraitB>::Item: Copy; | |
| } |