diff options
author | Martin Odersky <odersky@gmail.com> | 2008-08-28 17:05:08 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2008-08-28 17:05:08 +0000 |
commit | b85a3d25fcba0e6c6f056b926d02e87fc3b5b041 (patch) | |
tree | 3712943f46dbe46bb7a13ef97aa8c2fe56d20ffc /src/compiler/scala/tools/nsc/transform | |
parent | 44bd48af53d309272941b79962490ec295f7a7ea (diff) | |
download | scala-b85a3d25fcba0e6c6f056b926d02e87fc3b5b041.tar.gz scala-b85a3d25fcba0e6c6f056b926d02e87fc3b5b041.tar.bz2 scala-b85a3d25fcba0e6c6f056b926d02e87fc3b5b041.zip |
Fixed #1280, #1289
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/Mixin.scala | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala index ddbd83daae..ab020716d2 100644 --- a/src/compiler/scala/tools/nsc/transform/Mixin.scala +++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala @@ -122,7 +122,10 @@ abstract class Mixin extends InfoTransform { def isOverriddenAccessor(member: Symbol, bcs: List[Symbol]): Boolean = atPhase(ownPhase) { def hasOverridingAccessor(clazz: Symbol) = { clazz.info.nonPrivateDecl(member.name).alternatives.exists( - sym => isConcreteAccessor(sym) && matchesType(sym.tpe, member.tpe, true)) + sym => + isConcreteAccessor(sym) && + !sym.hasFlag(MIXEDIN) && + matchesType(sym.tpe, member.tpe, true)) } bcs.head != member.owner && (hasOverridingAccessor(bcs.head) || isOverriddenAccessor(member, bcs.tail)) |