所以我有几个 struct ,我已经在上面实现了Add和Neg特征. 我现在想在它们上实施子特征 我想要的是能够沿着这些线写一些东西
impl<T: Add + Neg> Sub for T{
type Output = self
fn sub(self, rhs:Self) -> Self{
self + (-rhs)
}
}
但这给了我一个错误: 仅当为其实现外来特征的类型中至少有一个是本地类型时,才能实现该特征 对于类型参数,只能实现当前框中定义的特征
上一次我遇到这个问题时,我复制粘贴了每个相关类型的Impl块.不是很耗时,但很难看. 只找到了2015年的this stackoverflow question个,显然唯一的方法是使用宏,但在我的情况下,情况会更糟.我在想,现在有没有别的办法