有没有办法结合多个特征(通过继承?)来定义一个新的特征?我正在寻找像C++中的概念:
auto concept newConcept<typename T> : concept1<T>, concept2<T>, concept3<T> {};
Run Code Online (Sandbox Code Playgroud)
假设我想创建一个继承自的新特征Clone,Default以及其他一些特征,那可能吗?
我想知道这是正常还是错误:
struct A<T> (T);
impl<T> Add<A<T>, A<T>> for A<T>
where T: Add<T, T> + Deref<T> + Copy {
fn add(&self, &A(b): &A<T>) -> A<T> {
let A(a) = *self;
A(a.add(&b))
}
}
Run Code Online (Sandbox Code Playgroud)
产生此错误:
<anon>:7:11: 7:12 error: reached the recursion limit while auto-dereferencing T [E0055]
<anon>:7 A(a.add(&b))
Run Code Online (Sandbox Code Playgroud)
同时a.add(&b)通过a+b编译替换没有错误
不a+b应该只是糖a.add(&b)吗?
rust ×2