From 220fe53ad0638c33572a9e11db0b6dc3aabd6c27 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Sun, 3 May 2015 16:41:29 +0200 Subject: Fix #522. We were missing a substitution in full parameterization. Embarraingly, this made even the example in the doc comment of `fullyParameterizedDef` fail. --- src/dotty/tools/dotc/transform/FullParameterization.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src') 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) -- cgit v1.2.3