diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala | 2 | ||||
-rw-r--r-- | test/files/pos/spec-private.scala | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala index d27aaba44b..fb3eba823b 100644 --- a/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala +++ b/src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala @@ -1242,7 +1242,7 @@ abstract class SpecializeTypes extends InfoTransform with TypingTransformers { if (sym.hasFlag(PRIVATE)) log("seeing private member " + sym + " targetClass: " + targetClass + " owner: " + sym.owner.enclClass) if (sym.hasFlag(PRIVATE | PROTECTED) && !nme.isLocalName(sym.name) - && (targetClass != sym.owner.enclClass)) { + && (currentClass != sym.owner.enclClass)) { log("changing private flag of " + sym) // tree.symbol.resetFlag(PRIVATE).setFlag(PROTECTED) sym.makeNotPrivate(sym.owner) diff --git a/test/files/pos/spec-private.scala b/test/files/pos/spec-private.scala new file mode 100644 index 0000000000..7d53bad955 --- /dev/null +++ b/test/files/pos/spec-private.scala @@ -0,0 +1,10 @@ +class Foo { + + def foo[@specialized(Int) T](x: T) = new Object { + private final val myEdges = List(1, 2 , 3) + + def boo { + myEdges + } + } +} |