поидее это можно сделать через
trait Multi{
fn do_stuff(&self1, &self2);
}
impl trait Multi for A, B {
fn do_stuff(&self1, &self2) {
println!("A and B");
}
}
impl trait<T1, T2> Multi for T1, T2 {
fn do_stuff(&self1, &self2) {
println!("Generic");
}
}