|
Yin and yang would be pleased: A fix in two parts.
1. Use the name of the imported symbol, rather than the alias, in the generated `Select(qual, name)` tree.
2. Do the opposite in `isQualifyingImplicit`, which performs one part of the shadowing check.
But there is still work to do. The second part of the shadowing check, `nonImplicitSynonymInScope`,
fails to notice this case (irrespective of aliased imports).
// Expecting shadowing #2. Alas, none is cast!
object Test1 {
object A { implicit val x: Int = 1 }
import A.x
def x: Int = 0
implicitly[Int]
}
I'm hitching the residual problem to SI-4270's wagon.
|