diff options
-rw-r--r-- | src/dotty/tools/dotc/transform/Mixin.scala | 2 | ||||
-rw-r--r-- | tests/run/i744.check | 1 | ||||
-rw-r--r-- | tests/run/i744.scala | 8 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/transform/Mixin.scala b/src/dotty/tools/dotc/transform/Mixin.scala index e405b08a0..982a6346b 100644 --- a/src/dotty/tools/dotc/transform/Mixin.scala +++ b/src/dotty/tools/dotc/transform/Mixin.scala @@ -230,7 +230,7 @@ class Mixin extends MiniPhaseTransform with SymTransformer { thisTransform => def setters(mixin: ClassSymbol): List[Tree] = for (setter <- mixin.info.decls.filter(setr => setr.isSetter && !wasDeferred(setr)).toList) - yield DefDef(implementation(setter.asTerm), unitLiteral.withPos(cls.pos)) + yield transformFollowing(DefDef(implementation(setter.asTerm), unitLiteral.withPos(cls.pos))) cpy.Template(impl)( constr = diff --git a/tests/run/i744.check b/tests/run/i744.check new file mode 100644 index 000000000..d00491fd7 --- /dev/null +++ b/tests/run/i744.check @@ -0,0 +1 @@ +1 diff --git a/tests/run/i744.scala b/tests/run/i744.scala new file mode 100644 index 000000000..4ff6c9288 --- /dev/null +++ b/tests/run/i744.scala @@ -0,0 +1,8 @@ +trait A{ + private var s = 1 + def getS = s +} + +object Test extends A { + def main(args: Array[String]): Unit = println(getS) +} |