diff options
author | Martin Odersky <odersky@gmail.com> | 2011-06-21 11:43:25 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-06-21 11:43:25 +0000 |
commit | 3f97335832aad9b50a7cd9b5295cdb4c5a939f87 (patch) | |
tree | 43263b87e56a6c055bc06e1d3c916269a302e728 /src | |
parent | e0757f1726bd77de3cdbb64802019b1bd3debaaf (diff) | |
download | scala-3f97335832aad9b50a7cd9b5295cdb4c5a939f87.tar.gz scala-3f97335832aad9b50a7cd9b5295cdb4c5a939f87.tar.bz2 scala-3f97335832aad9b50a7cd9b5295cdb4c5a939f87.zip |
Putting in a fix for #4713.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/reflect/internal/Types.scala | 10 |
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) |