I have a function f
which takes two arguments of the same type, and a function g
which takes two arguments of different types, but both types have
A where
clause works fine:
fn g<T, U>(a: T, b: U)
where
T: A,
U: A<A = T::A>, // where T::A is equal to B::A
{
f(a.getter(), b.getter())
}
I found a solution. It's not done by a where
clause, but this way:
fn g<T: A, U: A<A = T::A>>(a: T, b: U) { // where T::A is equal to B::A
f(a.getter(), b.getter())
}