Я пытаюсь переопределить этот метод
def sum[B >: A](implicit num: Numeric[B]): B = ...
в подклассе, где тип A
уже привязан к Int
.
Я уже пробовал
override def sum: Int = ...
но это, конечно, не отменяет, что приводит к разному разрешению метода на основе динамического типа во время выполнения.
Далее,
def sum[B >: Int](implicit num: Numeric[B]): Int
переопределяет, а
def sum[B >: Int](implicit num: Numeric[Int]): Int
а также
def sum(implicit num: Numeric[Int]): Int
Почему это так? Можно ли на лиатах избавиться от лишней привязки B
?
Я не уверен, какие типы и имплициты я могу оставить и что должно остаться, чтобы метод все еще переопределял.