summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/symtab/Symbols.scala2
-rw-r--r--test/files/pos/bug1185.scala15
2 files changed, 16 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/Symbols.scala b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
index 02ae047476..483adbdbc8 100644
--- a/src/compiler/scala/tools/nsc/symtab/Symbols.scala
+++ b/src/compiler/scala/tools/nsc/symtab/Symbols.scala
@@ -1189,7 +1189,7 @@ trait Symbols {
final def makeNotPrivate(base: Symbol) {
if (this hasFlag PRIVATE) {
setFlag(notPRIVATE)
- if (isTerm && !isDeferred) setFlag(lateFINAL)
+ if (isMethod && !isDeferred) setFlag(lateFINAL)
if (!isStaticModule && !isClassConstructor) {
expandName(base)
if (isModule) moduleClass.makeNotPrivate(base)
diff --git a/test/files/pos/bug1185.scala b/test/files/pos/bug1185.scala
new file mode 100644
index 0000000000..de453ec8dd
--- /dev/null
+++ b/test/files/pos/bug1185.scala
@@ -0,0 +1,15 @@
+class Test {
+ private[this] var member = 0;
+ def foo() = {
+ (() => member=1)()
+ }
+ def look=member
+}
+
+object Main{
+ def main(args : Array[String]){
+ val fff=new Test()
+ fff.foo()
+ assert(1==fff.look)
+ }
+}