Переопределить Scala функцию, которая нуждается в classTag - PullRequest
1 голос
/ 28 марта 2020
  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 и переопределить родительскую функцию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...