我似乎无法创建一个也混入 SynchronizedSet 的 SortedSet。问题的症结在于 SortedSet 需要一个隐式的 Ordering 对象。
val orderByIdThenName = Ordering[(Int, String)].on[Foo](foo => foo.id -> foo.name)
new mutable.TreeSet[Foo]()(orderByIdThenName) // <- Works fine and is Ordered
new mutable.HashSet[Foo] with mutable.SynchronizedSet[Foo] // <- Mixin works
new mutable.TreeSet[Foo]()(orderByCount) with mutable.SynchronizedSet[Foo] // Fail!
最后一行给出错误“无法创建对象,因为 scala.collection.SortedSetLike 中的成员 Ordering[A] 未定义。
有什么建议么?