ala*_*ris 4 traits rust associated-types
我可以foo为数组定义一个关联函数,如下所示:
pub trait T {
fn foo();
}
impl<X> T for [X; 2] {
fn foo() { panic!("Whatever") }
}
Run Code Online (Sandbox Code Playgroud)
但现在我该如何调用这个函数呢?我注意到类似的语法[usize;2]::foo()是无效的。
您可以使用完全限定的语法<Type as Trait>::function()。这是你的例子:
pub trait Trait {
fn foo();
}
impl<X> Trait for [X; 2] {
fn foo() {
panic!("Whatever");
}
}
fn main() {
<[usize; 2] as Trait>::foo();
}
Run Code Online (Sandbox Code Playgroud)
在操场上看到它。
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |