Si consideri il codice qui sotto:In scala multipla ereditarietà, come risolvere i metodi in conflitto con la stessa firma ma con tipi di ritorno diversi?
trait A {
def work = { "x" }
}
trait B {
def work = { 1 }
}
class C extends A with B {
override def work = super[A].work
}
Classe C
non compilerà in scala 2.10, a causa di "metodo di lavoro prevalente alla caratteristica di tipo A => Stringa; metodo di lavoro è di tipo incompatibile".
Come scegliere un metodo specifico?