2

Rust 中的 Traits 允许 trait 方法的默认实现:您可以在内部编写一些实现trait MyTrait {...},稍后将使用它impl MyTrait for MyStruct

但是,您也可以编写 plain impl MyTrait,这似乎不会改变程序的行为:

trait MyTrait {
    fn foo(&self) {  // Default implementation
        println!("1");
    }
}

impl MyTrait for i32 {
}

fn main() {
    1i32.foo();  // Prints '1'
}

impl MyTrait {  // What is this?
    fn foo(&self) {
        println!("2");  // Does nothing?
    }
}

impl MyTrait没有任何东西是什么for SomeType?它编译时只有“死代码”警告,所以我想它对编译器有一些意义。但我不明白是否有办法调用它。

4

0 回答 0