summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2010-06-03 15:29:49 +0000
committerIulian Dragos <jaguarul@gmail.com>2010-06-03 15:29:49 +0000
commit43e5eff2c8c3fbf1bba1440db9c5780179b70c6e (patch)
tree23be57594d140b0f04594265b04f4d0bbc7e71dd
parent043889d581d9b4403764bdf407dae0405dcc6818 (diff)
downloadscala-43e5eff2c8c3fbf1bba1440db9c5780179b70c6e.tar.gz
scala-43e5eff2c8c3fbf1bba1440db9c5780179b70c6e.tar.bz2
scala-43e5eff2c8c3fbf1bba1440db9c5780179b70c6e.zip
Closes #3472, final specialized methods give Ve...
Closes #3472, final specialized methods give VerifyErrors.
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 32b8969828..d9b60b9ca1 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -655,6 +655,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
def specializeOn(tparams: List[Symbol]): List[Symbol] =
for (spec <- specializations(tparams)) yield {
if (sym.hasFlag(PRIVATE)) sym.resetFlag(PRIVATE).setFlag(PROTECTED)
+ sym.resetFlag(FINAL)
val specMember = subst(outerEnv)(specializedOverload(owner, sym, spec))
typeEnv(specMember) = typeEnv(sym) ++ outerEnv ++ spec
if (settings.debug.value) log("added specialized overload: %s in env: %s".format(specMember, typeEnv(specMember)))