diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2010-05-04 16:59:28 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2010-05-04 16:59:28 +0000 |
commit | 2c45d41b37176fdf140964e88ee49f3af55c37f9 (patch) | |
tree | bc797197b2aff8e3fea1235d0f85f9e3bdb5c25f | |
parent | a01b81352f9f6bec4277044b3265dab79f545441 (diff) | |
download | scala-2c45d41b37176fdf140964e88ee49f3af55c37f9.tar.gz scala-2c45d41b37176fdf140964e88ee49f3af55c37f9.tar.bz2 scala-2c45d41b37176fdf140964e88ee49f3af55c37f9.zip |
Closes #3387. no review.
-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 + } + } +} |