diff options
author | Martin Odersky <odersky@gmail.com> | 2011-04-29 16:02:53 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-04-29 16:02:53 +0000 |
commit | 7f6ebc97625536cfa2d86241349237a2e474ce74 (patch) | |
tree | eb5ea8ed9605dd959de0dabd099e965c3f657a92 /src | |
parent | 8792dda476e33af1070b11f0af288897dff995ca (diff) | |
download | scala-7f6ebc97625536cfa2d86241349237a2e474ce74.tar.gz scala-7f6ebc97625536cfa2d86241349237a2e474ce74.tar.bz2 scala-7f6ebc97625536cfa2d86241349237a2e474ce74.zip |
Second version of trying to avoid the lift cras...
Second version of trying to avoid the lift crasher bug.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/Typers.scala | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala index 233caaca32..788d95104c 100644 --- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala +++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala @@ -930,10 +930,9 @@ trait Typers extends Modes { } catch { case ex: TypeError => if (phase.id > currentRun.typerPhase.id && - tree.tpe.isInstanceOf[ExistentialType] && - pt.isInstanceOf[ExistentialType]) - // ignore type errors raised in later phases that are due to mismatching existentials - tree + pt.existentialSkolems.nonEmpty) + adapt(tree, mode, pt.subst(pt.existentialSkolems, pt.existentialSkolems map (_ => WildcardType))) + // ignore type errors raised in later phases that are due to mismatching types with existential skolems else throw ex } |