summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-10-31 14:08:29 -0700
committerPaul Phillips <paulp@improving.org>2012-10-31 14:11:56 -0700
commit187c61a0e49c8f880a0599d64955e47e167579dc (patch)
treec237da1d040e41ce9421a29b18c3fbc2c0e4a6fa /src
parent8eefac8c25c2b20e2e8d1e7de1882460e90ceeb5 (diff)
downloadscala-187c61a0e49c8f880a0599d64955e47e167579dc.tar.gz
scala-187c61a0e49c8f880a0599d64955e47e167579dc.tar.bz2
scala-187c61a0e49c8f880a0599d64955e47e167579dc.zip
Fix for SI-6597, implicit case class crasher.
It seems to me like every call to scope.lookup in the compiler is a latent bug. If a symbol is overloaded, you get one at random. (See the FIXME comment in f5c336d5660 for more on this.)
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index 2c4034db84..99b927af66 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -414,7 +414,7 @@ trait Namers extends MethodSynthesis {
* a module definition or a class definition.
*/
def enterModuleSymbol(tree : ModuleDef): Symbol = {
- var m: Symbol = context.scope.lookup(tree.name)
+ var m: Symbol = context.scope lookupAll tree.name find (_.isModule) getOrElse NoSymbol
val moduleFlags = tree.mods.flags | MODULE
if (m.isModule && !m.isPackage && inCurrentScope(m) && (currentRun.canRedefine(m) || m.isSynthetic)) {
updatePosFlags(m, tree.pos, moduleFlags)