summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-05-21 17:32:29 +0000
committerMartin Odersky <odersky@gmail.com>2008-05-21 17:32:29 +0000
commit96b80791737efd952383aba56ba69440e861647d (patch)
tree6df772e7a2d73ef0f934a18733486e06447d96c9 /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parentb7efa99768e14c03df810b129f979ba61aba8e87 (diff)
downloadscala-96b80791737efd952383aba56ba69440e861647d.tar.gz
scala-96b80791737efd952383aba56ba69440e861647d.tar.bz2
scala-96b80791737efd952383aba56ba69440e861647d.zip
added tests; fixed #903; made Predef.Map covari...
added tests; fixed #903; made Predef.Map covariant in second parameter.
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index eb12867ea9..71a6ceeb34 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -2595,12 +2595,13 @@ trait Typers { self: Analyzer =>
case ex: TypeError =>
fun match {
case Select(qual, name)
- if (mode & PATTERNmode) == 0 && nme.isOpAssignmentName(name) =>
+ if (mode & PATTERNmode) == 0 && nme.isOpAssignmentName(name.decode) =>
val qual1 = typedQualifier(qual)
if (treeInfo.isVariableOrGetter(qual1)) {
convertToAssignment(fun, qual1, name, args, ex)
} else {
- reportTypeError(fun.pos, ex)
+ if (qual1.symbol.isValue) error(tree.pos, "reassignment to val")
+ else reportTypeError(fun.pos, ex)
setError(tree)
}
case _ =>