diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/Symbols.scala | 2 | ||||
-rw-r--r-- | test/files/pos/bug1185.scala | 15 |
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) + } +} |