summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 6945b5e497..c2e5e474a9 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -374,7 +374,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
val specializedInfoType: Type = {
val (_, unspecParams) = splitParams(clazz.info.typeParams)
oldClassTParams = unspecParams
- newClassTParams = cloneSymbols(unspecParams, cls)
+ newClassTParams = cloneSymbols(unspecParams, cls) map subst(env)
def applyContext(tpe: Type) =
subst(env, tpe).subst(unspecParams, newClassTParams map (_.tpe))
@@ -408,6 +408,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
if (newClassTParams.isEmpty) infoType else PolyType(newClassTParams, infoType)
}
+ log("specializedClass " + cls + ": " + specializedInfoType)
atPhase(phase.next)(cls.setInfo(specializedInfoType))
val fullEnv = outerEnv ++ env