summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-01-22 21:04:13 +0000
committerMartin Odersky <odersky@gmail.com>2007-01-22 21:04:13 +0000
commit6c4b4f89c8f5230027a583c7b51b3d19195069f4 (patch)
tree7a9311f4241b31ef6241eb8be46cb09abdab68f0 /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parent0e974bb3739d7cf5b375c88502f9c1c5eb7df78e (diff)
downloadscala-6c4b4f89c8f5230027a583c7b51b3d19195069f4.tar.gz
scala-6c4b4f89c8f5230027a583c7b51b3d19195069f4.tar.bz2
scala-6c4b4f89c8f5230027a583c7b51b3d19195069f4.zip
Fxied bug 909;
Updated collection library
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 2bea199dbc..b964c73297 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -627,10 +627,12 @@ trait Typers requires Analyzer {
instantiate(tree, mode, pt)
} else if (tree.tpe <:< pt) {
tree
- } else if ((mode & PATTERNmode) != 0) {
- if ((tree.symbol ne null) && tree.symbol.isModule) inferModulePattern(tree, pt)
- tree
} else {
+ if ((mode & PATTERNmode) != 0) {
+ if ((tree.symbol ne null) && tree.symbol.isModule)
+ inferModulePattern(tree, pt)
+ if (isPopulated(tree.tpe, pt)) return tree
+ }
val tree1 = constfold(tree, pt) // (10) (11)
if (tree1.tpe <:< pt) adapt(tree1, mode, pt)
else {
@@ -2335,9 +2337,9 @@ trait Typers requires Analyzer {
try {
// if (!isLocal) tree setSymbol info.sym
val tree1 = typed1(tree, EXPRmode, pt)
- if (settings.debug.value) log("typed implicit "+tree1+":"+tree1.tpe+", pt = "+pt)
+ //if (settings.debug.value) log("typed implicit "+tree1+":"+tree1.tpe+", pt = "+pt)
val tree2 = adapt(tree1, EXPRmode, pt)
- if (settings.debug.value) log("adapted implicit "+tree1.symbol+":"+tree2.tpe+" to "+pt)
+ //if (settings.debug.value) log("adapted implicit "+tree1.symbol+":"+tree2.tpe+" to "+pt)
if (tree2.tpe.isError) EmptyTree
else if (info.sym == tree1.symbol) tree2
else fail("syms differ: ", tree1.symbol, info.sym)