| // Test that we detect an illegal combination of types. | |
| trait Convert<Target> { | |
| fn convert(&self) -> Target; | |
| } | |
| impl Convert<u32> for i32 { | |
| fn convert(&self) -> u32 { | |
| *self as u32 | |
| } | |
| } | |
| fn test<T,U>(_: T, _: U) | |
| where T : Convert<U> | |
| { | |
| } | |
| fn a() { | |
| test(22i32, 44i32); //~ ERROR mismatched types | |
| } | |
| fn main() {} |