3
我有一个函数f
,其中有两个相同类型的参数,并且函数g
需要两个不同类型的参数,但两种类型都必须存储相同的值,因此g
可以调用f
,其中包含的值参数为f
。我目前实施的是这样的:如何强制执行两个相关的特征类型参数的平等?
fn f<T>(a: T, b: T) {}
trait A {
type A;
fn getter(&self) -> Self::A;
}
fn g<T: A, U: A>(a: T, b: U) {
f(a.getter(), b.getter())
}
我有什么要添加到的g
定义,使其工作?
参见:http://stackoverflow.com/q/29345708/155423; http://stackoverflow.com/q/27893501/155423。 – Shepmaster