summaryrefslogtreecommitdiff
path: root/test/files/neg/t2405.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-05-22 00:34:06 +0200
committerJason Zaugg <jzaugg@gmail.com>2012-05-22 08:07:34 +0200
commit820897b978ee6837ca463b186bab0f6349807c18 (patch)
treed97ec24f78165a1ac6be704630176927f94ff6c9 /test/files/neg/t2405.scala
parentf406550146250f5a6036d3d778582efa6d68252a (diff)
downloadscala-820897b978ee6837ca463b186bab0f6349807c18.tar.gz
scala-820897b978ee6837ca463b186bab0f6349807c18.tar.bz2
scala-820897b978ee6837ca463b186bab0f6349807c18.zip
SI-2405 Confer implicit privileges to renamed imports.
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.
Diffstat (limited to 'test/files/neg/t2405.scala')
-rw-r--r--test/files/neg/t2405.scala10
1 files changed, 10 insertions, 0 deletions
diff --git a/test/files/neg/t2405.scala b/test/files/neg/t2405.scala
new file mode 100644
index 0000000000..6982285b98
--- /dev/null
+++ b/test/files/neg/t2405.scala
@@ -0,0 +1,10 @@
+object A { implicit val x: Int = 1 }
+
+// Expecting shadowing #1
+object Test2 {
+ {
+ import A.{x => y}
+ def y: Int = 0
+ implicitly[Int]
+ }
+}