// run-pass trait A { fn g(&self, x: T, y: U) -> (T, U) { (x, y) } } impl A for i32 { } impl A for u32 { } fn f>(i: V, j: T, k: U) -> (T, U) { i.g(j, k) } pub fn main () { assert_eq!(f(0, 1, 2), (1, 2)); assert_eq!(f(0, 1, 2), (1, 2)); }