Что вам нужно сделать, это указать тип возвращаемого значения, это будет работать (для scala <2.8): </p>
def a[A](b:Seq[A]):Array[A] = b.toArray
Из-за новой платформы Collections, которая должна была выполнять особый вид преобразования в порядкедля обработки массивов, таких как коллекции, см. Fighting bit rot стр. 448, мы должны рассказать о старшем типе, и это значение ClassManifest
говорит о классе (есть Manifest
, которыйшире).
Итак, оба приведенных ниже примера действительны (более подробная информация здесь Объяснение API коллекций ):
def a[A](b:Seq[A])(implicit m:ClassManifest[A]):Array[A] = b.toArray
def a[A:ClassManifest](b:Seq[A]):Array[A] = b.toArray