java,c#的泛型,只能对泛型类型T进行约束,rust的约束比较强大,可以反过来约束,比如 pub fn takes_into_string<T>(t: T) where String: From<T> { let str = String::from(t); println!("str is {}", str);} 这里约束了 String必须实现 From,当然也可以写成 where T: Into<String>