trait F { fn f(_:i32, _:Self) where Self: Sized {} }
impl F for i32 {
fn f(x: i32, y: Self) {
println!("{x}, i32: {y}");
}
}
impl F for &str {
fn f(x: i32, y: Self) {
println!("{x}, &str: {y}");
}
}
fn f<T:F>(x: i32, y: T) {
F::f(x, y);
}
fn main() {
f( 10, 123 );
f( 20, "strrrrrrr" );
}
댓글 0