2 // Test that the right implementation is called through a trait
3 // object when supertraits include multiple references to the
4 // same trait, with different type parameters.
6 trait A: PartialEq<Foo> + PartialEq<Bar> { }
13 impl PartialEq<Foo> for Aimpl {
14 fn eq(&self, _rhs: &Foo) -> bool {
19 impl PartialEq<Bar> for Aimpl {
20 fn eq(&self, _rhs: &Bar) -> bool {
28 let a = &Aimpl as &dyn A;