1 // Test equality constraints in a where clause where the type being
2 // equated appears in a supertrait.
10 pub trait Car : Vehicle {
16 impl Vehicle for ModelT { type Color = Black; }
17 impl Car for ModelT { }
21 impl Vehicle for ModelU { type Color = Blue; }
22 impl Car for ModelU { }
24 fn black_car<C:Car<Color=Black>>(c: C) {
27 fn blue_car<C:Car<Color=Blue>>(c: C) {
30 fn a() { black_car(ModelT); }
31 fn b() { blue_car(ModelT); } //~ ERROR type mismatch
32 fn c() { black_car(ModelU); } //~ ERROR type mismatch
33 fn d() { blue_car(ModelU); }