implicit val instance = new Functor[SomeDataType] {
override def map[A, B](fa: SomeDataType[A])(f: A => B): SomeDataType[B] = {
val newGrid: Array[B] = Array.ofDim[B](100)
// ...
}
}
В приведенном выше коде он не будет компилироваться, потому что для создания массива мне нужен classTag для типа B. К сожалению, если я создаю границы типа ClassTag, то это меняет сигнатуру функции, и мое переопределение не будет дольше быть отменой. Та же проблема, если я использую неявный параметр.
Есть ли способ создать массив типа B и переопределить родительскую функцию?