aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2015-05-03 16:41:29 +0200
committerMartin Odersky <odersky@gmail.com>2015-05-03 16:41:29 +0200
commit220fe53ad0638c33572a9e11db0b6dc3aabd6c27 (patch)
tree30fc8bfeb1ad330f1c5bab78fb227a32dfa76e14 /src
parentbb6582bd265d22186570bef81d2a2f9ab3e23f9d (diff)
downloaddotty-220fe53ad0638c33572a9e11db0b6dc3aabd6c27.tar.gz
dotty-220fe53ad0638c33572a9e11db0b6dc3aabd6c27.tar.bz2
dotty-220fe53ad0638c33572a9e11db0b6dc3aabd6c27.zip
Fix #522.
We were missing a substitution in full parameterization. Embarraingly, this made even the example in the doc comment of `fullyParameterizedDef` fail.
Diffstat (limited to 'src')
-rw-r--r--src/dotty/tools/dotc/transform/FullParameterization.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/FullParameterization.scala b/src/dotty/tools/dotc/transform/FullParameterization.scala
index d402c2e7f..d650eecb7 100644
--- a/src/dotty/tools/dotc/transform/FullParameterization.scala
+++ b/src/dotty/tools/dotc/transform/FullParameterization.scala
@@ -116,8 +116,9 @@ trait FullParameterization {
info match {
case info @ PolyType(mtnames) =>
PolyType(mtnames ++ ctnames)(
- pt => (info.paramBounds ++ mappedClassBounds(pt))
- .mapConserve(_.subst(info, pt).bounds),
+ pt =>
+ (info.paramBounds.map(mapClassParams(_, pt).bounds) ++
+ mappedClassBounds(pt)).mapConserve(_.subst(info, pt).bounds),
pt => resultType(mapClassParams(_, pt)).subst(info, pt))
case _ =>
if (ctparams.isEmpty) resultType(identity)