blob: 948e40549c6db48d18a355e2b1b23cdc05c41f49 [file] [log] [blame] [edit]
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;
}