diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-11-01 09:54:41 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-11-01 09:54:41 -0700 |
commit | 2dd7142401d85badff451a6d3bb15eb84f4e9fa9 (patch) | |
tree | d064fe397c6f51fc3c6ab17375b63778a3f4a44d | |
parent | 6f273cb58ba69cc8b30ec9b1b31dc015e0ef1a62 (diff) | |
parent | 187c61a0e49c8f880a0599d64955e47e167579dc (diff) | |
download | scala-2dd7142401d85badff451a6d3bb15eb84f4e9fa9.tar.gz scala-2dd7142401d85badff451a6d3bb15eb84f4e9fa9.tar.bz2 scala-2dd7142401d85badff451a6d3bb15eb84f4e9fa9.zip |
Merge pull request #1550 from paulp/issue/6597
Fix for SI-6597, implicit case class crasher.
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Namers.scala | 2 | ||||
-rw-r--r-- | test/files/neg/t6597.check | 4 | ||||
-rw-r--r-- | test/files/neg/t6597.scala | 5 |
3 files changed, 10 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) diff --git a/test/files/neg/t6597.check b/test/files/neg/t6597.check new file mode 100644 index 0000000000..1d52519d1d --- /dev/null +++ b/test/files/neg/t6597.check @@ -0,0 +1,4 @@ +t6597.scala:3: error: illegal combination of modifiers: implicit and case for: class Quux + implicit case class Quux(value: Int) extends AnyVal with T + ^ +one error found diff --git a/test/files/neg/t6597.scala b/test/files/neg/t6597.scala new file mode 100644 index 0000000000..dde53bcc89 --- /dev/null +++ b/test/files/neg/t6597.scala @@ -0,0 +1,5 @@ +object Test { + trait T extends Any + implicit case class Quux(value: Int) extends AnyVal with T + object Quux +} |