W scala wielokrotnego dziedziczenia, jak rozwiązać sprzeczne metody z tym samym podpisem, ale z innym typem powrotu?

Rozważ poniższy kod:

trait A {
  def work = { "x" }
}

trait B {
  def work = { 1 }
}

class C extends A with B {
  override def work = super[A].work
}

KlasaC nie skompiluje się w scala 2.10, ponieważ „nadpisuje działanie metody w cechy A typu => String; metoda pracy ma niezgodny typ”.

Jak wybrać konkretną metodę?

questionAnswers(4)

yourAnswerToTheQuestion