我正在尝试在scala中编译排序函数
def sort[A <: hw.generics.Ordered[A], C <: hw.generics.ListLike[A, C]](alist: C): C = {
listLikeMatch[A, C](alist) match {
case None => alist
case Some((hd, tl)) => insert[A, C](hd, sort[A, C](tl))
}
}
}
这是我正在进行的测试。
test("sort"){
assert(sort[Ordered[Int],BinTree[Int]](unsortedTree) == tree)
}
编译器给了我这个错误。我无法弄清楚错误在哪里或者意味着什么。
[error] /home/student/generics/src/test/scala/testSuite.scala:24: type arguments [hw.generics.Ordered[Int],BinTree[Int]] do not conform to method sort's type parameter bounds [A <: hw.generics.Ordered[A],C <: hw.generics.ListLike[A,C]]
[error] assert(sort[Ordered[Int],BinTree[Int]](unsortedTree) == tree)
[error] ^
[error] one error found