File tree Expand file tree Collapse file tree 1 file changed +6
-0
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 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 =>
712712 enterSymbol(classConstructorCompanion(classSym.asClass))
713713 else
714714 for moduleSym <- companionVals do
715+ // by not going through `.lastKnownDenotation` (instead using `.current`),
716+ // we guarantee that the `moduleSym` will be brought forward to the current run,
717+ // rendering `moduleSym.isDefinedInCurrentRun` as always true.
718+ // We want to 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`)
715721 if moduleSym.lastKnownDenotation.is(Module ) && ! moduleSym.isDefinedInCurrentRun then
716722 val companion =
717723 if needsConstructorProxies(classSym) then
You can’t perform that action at this time.
0 commit comments