aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Martres <smarter@ubuntu.com>2016-03-09 19:40:12 +0100
committerGuillaume Martres <smarter@ubuntu.com>2016-03-09 19:40:12 +0100
commit305a9f06bd2b2ac6070beb184d61ff6db4cb9155 (patch)
tree09820e3e17922fea5e1a8c0ff0faf3a6c5a09b9a
parentff8731041a522b73fde6bddd2d7077d19d35b6b0 (diff)
parent8c99865cecf41b844e0710620337d26838e647ef (diff)
downloaddotty-305a9f06bd2b2ac6070beb184d61ff6db4cb9155.tar.gz
dotty-305a9f06bd2b2ac6070beb184d61ff6db4cb9155.tar.bz2
dotty-305a9f06bd2b2ac6070beb184d61ff6db4cb9155.zip
Merge pull request #1163 from dotty-staging/fix-#1145
Fix bug where ambiguous references were not reported
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala3
-rw-r--r--tests/neg/i1145.scala11
2 files changed, 13 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index 84344dbb1..fdb92a40b 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -232,7 +232,8 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
}
}
val curImport = ctx.importInfo
- if (curImport != null && curImport.isRootImport && previous.exists) return previous
+ if (ctx.owner.is(Package) && curImport != null && curImport.isRootImport && previous.exists)
+ return previous // no more conflicts possible in this case
// would import of kind `prec` be not shadowed by a nested higher-precedence definition?
def isPossibleImport(prec: Int) =
prevPrec < prec || prevPrec == prec && (prevCtx.scope eq ctx.scope)
diff --git a/tests/neg/i1145.scala b/tests/neg/i1145.scala
new file mode 100644
index 000000000..b33300b91
--- /dev/null
+++ b/tests/neg/i1145.scala
@@ -0,0 +1,11 @@
+object A {
+ def x = 3
+
+ def y = {
+ import B._
+ x // error: ambiguous
+ }
+}
+object B {
+ def x = 3
+}