1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
object Test { // this works. class B { final def f(): Unit = () } trait A extends B { def f (): Unit } class BB extends B { def f (): Unit } // this earns a VerifyError. trait C { def wait (): Unit } class D { } def main(args: Array[String]): Unit = { new B with A { } new BB // new D with C { } } }