在 trait 实现时,为泛型 trait 特化相应的类型。
示例代码:
trait Hello {
fn hello(&self) -> T;
}
impl Hello for T {
fn hello(&self) -> String {
format!("Hello, {:?}", self)
}
}
impl Hello for T {
fn hello(&self) -> String {
format!("Hello, {}", self)
}
}
fn main() {
let number = 42;
assert_eq!(number.hello(), "Hello, 42".to_string());
let name = "Alice";
assert_eq!(name.hello(), "Hello, \"Alice\"".to_string());
}