summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2011-06-21 11:43:25 +0000
committerMartin Odersky <odersky@gmail.com>2011-06-21 11:43:25 +0000
commit3f97335832aad9b50a7cd9b5295cdb4c5a939f87 (patch)
tree43263b87e56a6c055bc06e1d3c916269a302e728
parente0757f1726bd77de3cdbb64802019b1bd3debaaf (diff)
downloadscala-3f97335832aad9b50a7cd9b5295cdb4c5a939f87.tar.gz
scala-3f97335832aad9b50a7cd9b5295cdb4c5a939f87.tar.bz2
scala-3f97335832aad9b50a7cd9b5295cdb4c5a939f87.zip
Putting in a fix for #4713.
-rw-r--r--src/compiler/scala/reflect/internal/Types.scala10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/compiler/scala/reflect/internal/Types.scala b/src/compiler/scala/reflect/internal/Types.scala
index a6c26d037b..43694dfb82 100644
--- a/src/compiler/scala/reflect/internal/Types.scala
+++ b/src/compiler/scala/reflect/internal/Types.scala
@@ -3969,8 +3969,14 @@ A type's typeSymbol should never be inspected directly.
val args1 = args mapConserve (this)
try {
val sym1 = adaptToNewRun(pre1, sym)
- if ((pre1 eq pre) && (sym1 eq sym) && (args1 eq args)/* && sym.isExternal*/) tp
- else copyTypeRef(tp, pre1, sym1, args1)
+ if ((pre1 eq pre) && (sym1 eq sym) && (args1 eq args)/* && sym.isExternal*/) {
+ tp
+ } else if (sym1 == NoSymbol) {
+ if (settings.debug.value) println("adapt fail: "+pre+" "+pre1+" "+sym)
+ tp
+ } else {
+ copyTypeRef(tp, pre1, sym1, args1)
+ }
} catch {
case ex: MissingAliasControl =>
apply(tp.dealias)