Aar*_*sen 7 struct traits rust
我有一个特征,只有一个要求,即方法的存在len(&self) -> usize。然后,它提供了该结构的几个新方法的实现。
trait MyTrait {
fn len(&self) -> usize;
// ... some new functions with implementations
}
Run Code Online (Sandbox Code Playgroud)
我想实现这个特征,std::collections::LinkedList它已经有一个具有确切类型签名的方法。目前,我正在这样做:
impl<T> MyTrait for LinkedList<T> {
fn len(&self) -> usize {
self.len()
}
}
Run Code Online (Sandbox Code Playgroud)
MyTrait然后我可以在我的实例上使用定义的新方法LinkedList。然而,感觉没有必要像这样重复方法的定义,因为类型签名是相同的。有没有办法在我的特征实现中省略 的重新定义len?
有没有办法在我的特征实现中省略 的重新定义
len?
不,这是不可能的。
您也许可以编写某种宏来为您编写代码,但至少可以说,处理类型参数很烦人。
也可以看看:
| 归档时间: |
|
| 查看次数: |
888 次 |
| 最近记录: |