diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-04 08:57:20 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-04 08:57:20 -0700 |
commit | cae38dc68d02ac5fa80e2d8994990499dc63e657 (patch) | |
tree | bc30ce8ed74f8fa8d72ff04446cb8f9f470bfd72 /src | |
parent | e9a696ce610c141a6a21f4201229ed52c1ccebc3 (diff) | |
parent | 1a2ec87c0964ad3bf42d49bbdaebd66b45506210 (diff) | |
download | scala-cae38dc68d02ac5fa80e2d8994990499dc63e657.tar.gz scala-cae38dc68d02ac5fa80e2d8994990499dc63e657.tar.bz2 scala-cae38dc68d02ac5fa80e2d8994990499dc63e657.zip |
Merge pull request #820 from retronym/ticket/6013
SI-6013 Disallow deferred members from intermediate java parents.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/RefChecks.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala index 44fd4e9afd..7318538de7 100644 --- a/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala +++ b/src/compiler/scala/tools/nsc/typechecker/RefChecks.scala @@ -536,7 +536,7 @@ abstract class RefChecks extends InfoTransform with reflect.internal.transform.R def javaErasedOverridingSym(sym: Symbol): Symbol = clazz.tpe.nonPrivateMemberAdmitting(sym.name, BRIDGE).filter(other => - !other.isDeferred && other.isJavaDefined && { + !other.isDeferred && other.isJavaDefined && !sym.enclClass.isSubClass(other.enclClass) && { // #3622: erasure operates on uncurried types -- // note on passing sym in both cases: only sym.isType is relevant for uncurry.transformInfo // !!! erasure.erasure(sym, uncurry.transformInfo(sym, tp)) gives erreneous of inaccessible type - check whether that's still the case! |