Minimized code
abstract class A {
protected[this] def m(): Int = 1
}
object B {
private def m(i: Int) = 2
private final class Composite() extends A {
def test = m()
}
}
Output
Reference to m is ambiguous,
it is both defined in object B
and inherited subsequently in class Composite
Expectation
Compilation to succeed, like in scala 2