1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
trait Root { def say: String } trait A extends Root { override def say: String = "bow" } trait B extends Root { override def say: String = "hi" } object Foo extends A with B { override def say: String = foo(super[A].say) def foo(p: => String): String = p }