【发布时间】:2015-06-24 16:20:49
【问题描述】:
我正在尝试重新定义 Add 特征,以便我可以将其用作中缀运算符:
//use std::ops::Add;
trait Add<RHS=Self> {
// type Output;
fn add(self, rhs: RHS) -> Self;
}
fn summ<T: Add>(a: T, b: T) -> T {
a+b
} // doesn't compile
是否可以重新定义 Add 特征,使其使用 + 运算符来添加功能?
【问题讨论】:
-
你为什么要重新定义特质?标准的
Addtrait 已经提供了二进制+操作符的重载。 -
因为标准 Add 使用关联类型 Output - 这是我不想使用的一块。如果你看一下def。我的功能,你可以看到。
标签: rust traits infix-operator