summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Typers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-06-18 15:39:36 +0000
committerMartin Odersky <odersky@gmail.com>2008-06-18 15:39:36 +0000
commit72da305329d3a8889e4e5f8d81a0ecad04b097ad (patch)
tree6b79b4d0d37b73444a712279fc4b08c5009fe45f /src/compiler/scala/tools/nsc/typechecker/Typers.scala
parent707e55c2271a6b35fb4a173106c2a36aa07cfe9a (diff)
downloadscala-72da305329d3a8889e4e5f8d81a0ecad04b097ad.tar.gz
scala-72da305329d3a8889e4e5f8d81a0ecad04b097ad.tar.bz2
scala-72da305329d3a8889e4e5f8d81a0ecad04b097ad.zip
gixed gilles' gadt problems. Added some tests
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Typers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Typers.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Typers.scala b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
index 40db3dd4a8..9f1d11f425 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Typers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Typers.scala
@@ -2977,8 +2977,9 @@ trait Typers { self: Analyzer =>
case Bind(_, _) =>
if (arg.symbol.isAbstractType)
arg.symbol setInfo // XXX, feedback. don't trackSymInfo here!
- TypeBounds(lub(List(arg.symbol.info.bounds.lo, tparam.info.bounds.lo)),
- glb(List(arg.symbol.info.bounds.hi, tparam.info.bounds.hi)))
+ TypeBounds(
+ lub(List(arg.symbol.info.bounds.lo, tparam.info.bounds.lo.subst(tparams, argtypes))),
+ glb(List(arg.symbol.info.bounds.hi, tparam.info.bounds.hi.subst(tparams, argtypes))))
case _ =>
}}
TypeTree(owntype) setOriginal(tree) // setPos tree.pos