File tree 1 file changed +6
-0
lines changed
compiler/src/dotty/tools/dotc/typer
1 file changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -712,6 +712,12 @@ class Namer { typer: Typer =>
712
712
enterSymbol(classConstructorCompanion(classSym.asClass))
713
713
else
714
714
for moduleSym <- companionVals do
715
+ // by not going throught `.lastKnownDenotation` (instead using `.current`),
716
+ // we guarantee that the `moduleSym` will be brought forward to the current run,
717
+ // rendering isDefinedInCurrentRun as always true
718
+ // We want to possibly regenerate the companion instead of bringing it forward,
719
+ // as even if we are able to bring forward the object symbol,
720
+ // we might not be able to do the same with its stale module class symbol (see `tests/pos/i20449`)
715
721
if moduleSym.lastKnownDenotation.is(Module ) && ! moduleSym.isDefinedInCurrentRun then
716
722
val companion =
717
723
if needsConstructorProxies(classSym) then
You can’t perform that action at this time.
0 commit comments