我有这样一个特质:
trait Foo {
fn do_something(self) -> Self;
}
Run Code Online (Sandbox Code Playgroud)
我想为一个元组实现此特征,该元组可能具有任意数量的实现此特征的元素。
impl<T> Foo for (T, T) where T: Foo {
fn do_something(self) -> Self {
let (t0, t1) = self;
(t0.do_something(), t1.do_something())
}
}
impl<T> Foo for (T, T, T) where T: Foo {
fn do_something(self) -> Self {
let (t0, t1, t2) = self;
(t0.do_something(), t1.do_something(), t2.do_something())
}
}
// and so on...
Run Code Online (Sandbox Code Playgroud) rust ×1