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