implicit class OrderableFoo[T<:Foo[A,_] forSome {type A <: Ordered[A]}](thisFoo:Foo)
extends Ordered[Foo]{
override def compare(other:Foo):Int = thisFoo.value.compare(other.value)
}
我的问题:
thisFoo.value返回类型A
的值订购A类
thisFoo.value.compare期待一个类型为A
的参数other.value属于A
thisFoo.value.compare(other.value)将无法编译。 “预期A但收到订单[A]”
答案 0 :(得分:0)
事实证明,当使用forSome {type}特征时,thisFoo的A与其他的A不同。我们所知道的是两个A都是可订购的。这可以通过提供其他类型参数来修复。