Given: ```scala class Wrapper(val value: Int) abstract class Foo(val x: Int) class Test { def foo(wrapper: Wrapper): Unit = { new Foo(wrapper.value) {} } } ``` Dotty generates: ```scala private static final class Test$$anon$1 extends Foo { private final Wrapper wrapper$1; public Test$$anon$1(Wrapper wrapper$2) { this.wrapper$1 = wrapper$2; super(wrapper$2.value()); } } ``` But Scala 2.12 does: ```scala public final class Test$$anon$1 extends Foo { public Test$$anon$1(Test $outer, Wrapper wrapper$1) { super(wrapper$1.value()); } } ``` This is similar to https://github.com/lampepfl/dotty/issues/2869