Consider the code below:
trait A { def work = { \"x\" } } trait B { def work = { 1 } } class C extends A with B { override def work = super[A].work }
You can't do that in Scala.
The way to work this around is to use the traits as collaborators
trait A { def work = { "x" } } trait B { def work = { 1 } } class C { val a = new A { } val b = new B { } a.work b.work }