summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2013-04-20 11:03:44 +0200
committerJason Zaugg <jzaugg@gmail.com>2013-04-20 11:06:40 +0200
commit3f21f0091cf46ae30bdd8cfa343659527728eec8 (patch)
tree2afd090497412107c6585ecc2ac4794daeecdb5e /src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
parentd506bedc5ab83bf9af8cc0240e61a0c691f8508b (diff)
parent5147bb278c326e60956bac93cba95d4e07d95e84 (diff)
downloadscala-3f21f0091cf46ae30bdd8cfa343659527728eec8.tar.gz
scala-3f21f0091cf46ae30bdd8cfa343659527728eec8.tar.bz2
scala-3f21f0091cf46ae30bdd8cfa343659527728eec8.zip
Merge remote-tracking branch 'origin/2.10.x' into merge/v2.10.1-245-g5147bb2-to-master
Conflicts: src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
index 565dfde11a..6f3771b58d 100644
--- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
+++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala
@@ -808,7 +808,11 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers {
private def normalizeMember(owner: Symbol, sym: Symbol, outerEnv: TypeEnv): List[Symbol] = {
sym :: (
if (!sym.isMethod || enteringTyper(sym.typeParams.isEmpty)) Nil
- else {
+ else if (sym.hasDefault) {
+ /* Specializing default getters is useless, also see SI-7329 . */
+ sym.resetFlag(SPECIALIZED)
+ Nil
+ } else {
// debuglog("normalizeMember: " + sym.fullNameAsName('.').decode)
var specializingOn = specializedParams(sym)
val unusedStvars = specializingOn filterNot specializedTypeVars(sym.info)