我被这个运算符重载的代码卡住了。
use std::ops::Add;
struct Test<T: Add>{
m:T
}
impl<T:Add> Add for Test<T>{
type Output = Test<T>;
fn add(self, rhs: Test<T>) -> Test<T> {
Test { m: (self.m + rhs.m) as T }
}
}
我无法将(self.m + rhs.m)
转换为T
,因为它是一种非标量转换
。
是否有适用于可标量转换为T
的类型特性?