You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
scalac: java.lang.StackOverflowErrorwhile running MegaPhase{firstTransform, checkReentrant, elimPackagePrefixes, cookComments, checkStatic, checkLoopingImplicits, betaReduce, inlineVals, expandSAMs, elimRepeated, refchecks} on E:\Users\Luc\Documents\Home\ProjIntl\Scala_3.2\src\main\scala\scala_3_2\Issue7894569.scala
scalac: java.lang.StackOverflowErrorwhile compiling E:\Users\Luc\Documents\Home\ProjIntl\Scala_3.2\src\main\scala\scala_3_2\Issue7894569.scala
scalac:Error: org.jetbrains.jps.incremental.scala.remote.ServerException
java.lang.StackOverflowError
at dotty.tools.dotc.core.Names$TermName.derived(Names.scala:207)
at dotty.tools.dotc.core.NameKinds$QualifiedNameKind.apply(NameKinds.scala:131)
at dotty.tools.dotc.core.SymDenotations$SymDenotation.dotty$tools$dotc$core$SymDenotations$SymDenotation$$_$qualify$1(SymDenotations.scala:494)
at dotty.tools.dotc.core.SymDenotations$SymDenotation$$anon$1.applyOrElse(SymDenotations.scala:497)
at dotty.tools.dotc.core.SymDenotations$SymDenotation$$anon$1.applyOrElse(SymDenotations.scala:496)
at scala.PartialFunction$OrElse.apply(PartialFunction.scala:266)
at dotty.tools.dotc.core.Names$SimpleName.replace(Names.scala:342)
at dotty.tools.dotc.core.Names$SimpleName.replace(Names.scala:341)
at dotty.tools.dotc.core.Names$Name.replaceDeep(Names.scala:81)
at dotty.tools.dotc.core.SymDenotations$SymDenotation.fullNameSeparated(SymDenotations.scala:497)
at dotty.tools.dotc.core.NameOps$.expandedName(NameOps.scala:145)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$outerAccName(ExplicitOuter.scala:199)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessor(ExplicitOuter.scala:194)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessors(ExplicitOuter.scala:140)
at dotty.tools.dotc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:53)
at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform(DenotTransformers.scala:42)
at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform$(DenotTransformers.scala:34)
at dotty.tools.dotc.transform.ExplicitOuter.transform(ExplicitOuter.scala:36)
at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:833)
at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:882)
at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:120)
at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:114)
at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:107)
at dotty.tools.dotc.core.Symbols$ClassSymbol.classDenot(Symbols.scala:460)
at dotty.tools.dotc.core.Symbols$.toClassDenot(Symbols.scala:500)
at dotty.tools.dotc.core.Contexts$Context.effectiveScope(Contexts.scala:272)
at dotty.tools.dotc.core.Contexts$Context.nestingLevel(Contexts.scala:275)
at dotty.tools.dotc.core.Symbols$.newSymbol$default$8(Symbols.scala:522)
at dotty.tools.dotc.transform.ExplicitOuter$.newOuterSym(ExplicitOuter.scala:182)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessor(ExplicitOuter.scala:195)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessors(ExplicitOuter.scala:140)
at dotty.tools.dotc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:53)
at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform(DenotTransformers.scala:42)
at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform$(DenotTransformers.scala:34)
at dotty.tools.dotc.transform.ExplicitOuter.transform(ExplicitOuter.scala:36)
at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:833)
at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:882)
at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:120)
at dotty.tools.dotc.core.Symbols$Symbol.computeDenot(Symbols.scala:114)
at dotty.tools.dotc.core.Symbols$Symbol.denot(Symbols.scala:107)
at dotty.tools.dotc.core.Symbols$ClassSymbol.classDenot(Symbols.scala:460)
at dotty.tools.dotc.core.Symbols$.toClassDenot(Symbols.scala:500)
at dotty.tools.dotc.core.Contexts$Context.effectiveScope(Contexts.scala:272)
at dotty.tools.dotc.core.Contexts$Context.nestingLevel(Contexts.scala:275)
at dotty.tools.dotc.core.Symbols$.newSymbol$default$8(Symbols.scala:522)
at dotty.tools.dotc.transform.ExplicitOuter$.newOuterSym(ExplicitOuter.scala:182)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessor(ExplicitOuter.scala:195)
at dotty.tools.dotc.transform.ExplicitOuter$.dotty$tools$dotc$transform$ExplicitOuter$$$newOuterAccessors(ExplicitOuter.scala:140)
at dotty.tools.dotc.transform.ExplicitOuter.transformInfo(ExplicitOuter.scala:53)
at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform(DenotTransformers.scala:42)
at dotty.tools.dotc.core.DenotTransformers$InfoTransformer.transform$(DenotTransformers.scala:34)
at dotty.tools.dotc.transform.ExplicitOuter.transform(ExplicitOuter.scala:36)
at dotty.tools.dotc.core.Denotations$SingleDenotation.goForward$1(Denotations.scala:833)
at dotty.tools.dotc.core.Denotations$SingleDenotation.current(Denotations.scala:882)
at dotty.tools.dotc.core.Symbols$Symbol.recomputeDenot(Symbols.scala:120)
...
...
The text was updated successfully, but these errors were encountered:
When transforming a class at ExplicitOuter we create outer accessors for
it. The newSymbol call to do this takes place at phase ExplicitOuter +
1, but its arguments need to be evaluated at phase ExplicitOuter. This
was not true for the nestingLevel argument, which demanded the
denotation of the class at phase ExplicitOuter + 1, thus leading to the
SO.
Interestingly, the same path is not taken if the class has all abstract
members defined or is declared abstract. It's only in the error case
that I could reproduce the SO.
Fixes#16343
Uh oh!
There was an error while loading. Please reload this page.
Compiler version
Scala 3.2.1
Minimized code
Output (click arrow to expand)
The text was updated successfully, but these errors were encountered: