编译scala函数时出错

时间:2016-03-08 03:24:39

标签: scala compiler-errors

我正在尝试在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

0 个答案:

没有答案