diff --git a/compiler/src/dotty/tools/dotc/transform/Constructors.scala b/compiler/src/dotty/tools/dotc/transform/Constructors.scala index ac241b7e45ff..94a5916fc5be 100644 --- a/compiler/src/dotty/tools/dotc/transform/Constructors.scala +++ b/compiler/src/dotty/tools/dotc/transform/Constructors.scala @@ -149,7 +149,7 @@ class Constructors extends MiniPhase with IdentityDenotTransformer { thisPhase = case Ident(_) | Select(This(_), _) => var sym = tree.symbol if (sym.is(ParamAccessor, butNot = Mutable)) sym = sym.subst(accessors, paramSyms) - if (sym.owner.isConstructor) ref(sym).withSpan(tree.span) else tree + if (sym.maybeOwner.isConstructor) ref(sym).withSpan(tree.span) else tree case Apply(fn, Nil) => val fn1 = transform(fn) if ((fn1 ne fn) && fn1.symbol.is(Param) && fn1.symbol.owner.isPrimaryConstructor) diff --git a/tests/pos/i9307.scala b/tests/pos/i9307.scala new file mode 100644 index 000000000000..a795f1d3fc62 --- /dev/null +++ b/tests/pos/i9307.scala @@ -0,0 +1,7 @@ +class Foo: + private var foo1: Int = _ + private var foo2: Array[Int] = _ + private[this] var foo3: Array[Int] = _ + private var foo4: Array[Object] = _ + private var foo5: Array[Array[Int]] = _ + private var foo6: List[Int] = _