diff options
author | Martin Odersky <odersky@gmail.com> | 2008-05-21 17:32:29 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2008-05-21 17:32:29 +0000 |
commit | 96b80791737efd952383aba56ba69440e861647d (patch) | |
tree | 6df772e7a2d73ef0f934a18733486e06447d96c9 /src/compiler/scala/tools/nsc/typechecker/Typers.scala | |
parent | b7efa99768e14c03df810b129f979ba61aba8e87 (diff) | |
download | scala-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.scala | 5 |
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 _ => |