gpt4 book ai didi

struct - 在不重复结构上已定义的方法的情况下实现特征

转载 作者:行者123 更新时间:2023-11-29 08:15:43 25 4
gpt4 key购买 nike

我有一个只有一个要求的特征,方法 len(&self) -> usize 的存在。然后它为结构的几个新方法提供实现。

trait MyTrait {
fn len(&self) -> usize;

// ... some new functions with implementations
}

我想在 std::collections::LinkedList 上实现这个特性,它已经有一个具有该确切类型签名的方法。目前,我正在这样做:

impl<T> MyTrait for LinkedList<T> {
fn len(&self) -> usize {
self.len()
}
}

然后我可以在我的 LinkedList 实例上使用 MyTrait 定义的新方法。但是,感觉不必像这样重复定义方法,因为类型签名是相同的。有没有办法在我的特征实现中省略 len 的重新定义?

最佳答案

Is there a way to omit the re-definition of len in my trait implementation?

不,这是不可能的。

您可以编写某种宏来为您编写代码,但至少可以说,处理类型参数很烦人。

另见:

关于struct - 在不重复结构上已定义的方法的情况下实现特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53713354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com