Consider the following:
trait A {
def m() {}
}
trait B {
def m() {}
}
class C implements A, B {
void test() {
m()
}
}
The method m() is defined by both traits A and B. Since C does not disambiguate by defining its own m(), the default conflict resolution policy states that m() comes from the last declared trait. However, type inferencing currently shows A as the declaring class.

Consider the following:
trait A { def m() {} } trait B { def m() {} } class C implements A, B { void test() { m() } }The method
m()is defined by both traitsAandB. SinceCdoes not disambiguate by defining its ownm(), the default conflict resolution policy states thatm()comes from the last declared trait. However, type inferencing currently showsAas the declaring class.