summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-09-10 08:49:03 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-09-10 08:49:03 +0000
commitf005be1ce82929bacce34ef35cae86f35cb88e13 (patch)
tree0d68443395aae59e93eec7ff194d0c910489413a
parent274d61333edd68eae66f783b4df2db90dec4e23c (diff)
downloadscala-f005be1ce82929bacce34ef35cae86f35cb88e13.tar.gz
scala-f005be1ce82929bacce34ef35cae86f35cb88e13.tar.bz2
scala-f005be1ce82929bacce34ef35cae86f35cb88e13.zip
Merged revisions 22934 via svnmerge from
https://lampsvn.epfl.ch/svn-repos/scala/scala/trunk ........ r22934 | dragos | 2010-09-05 15:21:11 +0200 (Sun, 05 Sep 2010) | 1 line Closes #3636, crash when unexpected types arrive at specialization. no review. ........
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index abc590fb6b..0f6b3c26f5 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -805,6 +805,9 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
case (RefinedType(_, _), RefinedType(_, _)) => env
case (AnnotatedType(_, tp1, _), tp2) => unify(tp2, tp1, env)
case (ExistentialType(_, res1), _) => unify(tp2, res1, env)
+ case _ =>
+ log("don't know how to unify %s [%s] with %s [%s]".format(tp1, tp1.getClass, tp2, tp2.getClass))
+ env
}
}
@@ -1087,7 +1090,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
case Select(qual, name) =>
if (settings.debug.value)
- log("looking at Select: " + tree + " sym: " + symbol + ": " + symbol.info + "[tree.tpe: " + tree.tpe + "]")
+ log("[%s] looking at Select: %s sym: %s: %s [tree.tpe: %s]".format(tree.pos.line, tree, symbol, symbol.info, tree.tpe))
if (!specializedTypeVars(symbol.info).isEmpty && name != nme.CONSTRUCTOR) {
val env = unify(symbol.tpe, tree.tpe, emptyEnv)