Поскольку вы имеете дело с Array
s, вам нужно ClassManifest
s.
def compare[A <% { def toInt: Int } : ClassManifest,
B <% { def toInt: Int } : ClassManifest]
(bs: Seq[A], is: Seq[B]): Boolean = {
(bs.toArray, is).zipped.forall(_.toInt == _.toInt)
}
Сообщение об ошибке компилятора в этом случае не может быть более ясным IMO.
РЕДАКТИРОВАТЬ:
Вам на самом деле не нужно конвертировать последовательности в массивы.Следующее работает просто отлично.
def compare[A <% { def toInt: Int },
B <% { def toInt: Int }]
(bs: Seq[A], is: Seq[B]): Boolean = {
(bs, is).zipped.forall(_.toInt == _.toInt)
}