summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/transform/SpecializeTypes.scala2
-rw-r--r--test/files/pos/spec-private.scala10
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
+ }
+ }
+}