From ad22d88f5666fafd41ac1dabf98d7c0d828ed852 Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Sun, 5 Sep 2010 13:21:11 +0000 Subject: Closes #3636, crash when unexpected types arriv... Closes #3636, crash when unexpected types arrive at specialization. no review. --- src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3