diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-12 16:02:21 -0800 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2012-12-12 16:02:21 -0800 |
commit | df78f76682145c805a487e2b939e0844a6623ece (patch) | |
tree | e8f78e1fb1509a1c4fd704f8b3a0ea64f8d00053 /src/reflect | |
parent | 7968f935d7af448e3dec23860b47394e7fd057bb (diff) | |
parent | 24455e22d56c8447fdf6089ad612f6ce75020f0b (diff) | |
download | scala-df78f76682145c805a487e2b939e0844a6623ece.tar.gz scala-df78f76682145c805a487e2b939e0844a6623ece.tar.bz2 scala-df78f76682145c805a487e2b939e0844a6623ece.zip |
Merge pull request #1758 from hubertp/2.10.x-issue/strip-tvars
When we strip tvars we should also recursively strip their instantiation...
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/Types.scala | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala index d82692000d..119a57d268 100644 --- a/src/reflect/scala/reflect/internal/Types.scala +++ b/src/reflect/scala/reflect/internal/Types.scala @@ -6605,11 +6605,11 @@ trait Types extends api.Types { self: SymbolTable => case ExistentialType(qs, _) => qs case t => List() } - def stripType(tp: Type) = tp match { + def stripType(tp: Type): Type = tp match { case ExistentialType(_, res) => res case tv@TypeVar(_, constr) => - if (tv.instValid) constr.inst + if (tv.instValid) stripType(constr.inst) else if (tv.untouchable) tv else abort("trying to do lub/glb of typevar "+tp) case t => t |