diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala index 701a81968a..4fb9f310b1 100644 --- a/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala +++ b/src/compiler/scala/tools/nsc/backend/opt/DeadCodeElimination.scala @@ -259,7 +259,7 @@ abstract class DeadCodeElimination extends SubComponent { /** Is 'sym' a side-effecting method? TODO: proper analysis. */ private def isSideEffecting(sym: Symbol): Boolean = { - !(sym.isGetter // for testing only + !((sym.isGetter && !sym.hasFlag(Flags.LAZY)) // for testing only || (sym.isConstructor && sym.owner.owner == definitions.getModule("scala.runtime").moduleClass) || (sym.isConstructor && inliner.isClosureClass(sym.owner)) |