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
First encountered as a crash in 3.3.1 nightly, but not merged into a final release (3.3.2/3.3.3 are good)
Last good release: 3.3.1-RC1-bin-20230511-5c4e597-NIGHTLY
First bad release: 3.3.1-RC1-bin-20230513-4cb6ee6-NIGHTLY
First bad commit: 5bafff7cc96f1f31f6e77620ca509dfa55d816b4
Exception in thread "main" java.lang.StackOverflowError
at dotty.tools.dotc.core.TypeApplications$.tryReduce$1(TypeApplications.scala:363)
at dotty.tools.dotc.core.TypeApplications$.appliedTo$extension(TypeApplications.scala:380)
at dotty.tools.dotc.core.TypeApplications$.applyIfParameterized$extension(TypeApplications.scala:406)
at dotty.tools.dotc.core.Types$MatchType$InDisguise$.unapply(Types.scala:4962)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:640)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6200)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:636)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6268)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6229)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:638)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6268)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6229)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:638)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6268)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6229)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:638)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeTraverser.apply(Types.scala:6275)
at dotty.tools.dotc.core.Types$TypeAccumulator.op$proxy24$1(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$3(Types.scala:6186)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:6190)
at dotty.tools.dotc.core.Types$TypeTraverser.traverseChildren(Types.scala:6276)
at dotty.tools.dotc.typer.ImplicitRunInfo$collectParts$2$.traverse(Implicits.scala:645)
Error in 3.4.0:
[error] Recursion limit exceeded.
[error] Maybe there is an illegal cyclic reference?
[error] If that's not the case, you could also try to increase the stacksize using the -XssJVM option.
[error] For the unprocessed stack trace, compile with-Yno-decode-stacktraces.
[error] A recurring operation is (inner to outer):
[error]
[error] collectParts of Tuple.Map[h, JUSTVAL]
[error] collectParts of DFTuple[Tuple.Map[h, JUSTVAL]]
[error] collectParts of scala.runtime.MatchCase[NonEmptyTuple, DFTuple[Tuple.Map[h, JUSTVAL]]]
[error] collectParts of h match {
[error] caseNonEmptyTuple=>DFTuple[Tuple.Map[h, JUSTVAL]]
[error] } <:DFTypeAny
[error] collectParts of FromProduct[h]
[error] collectParts of scala.runtime.MatchCase[Product, FromProduct[h]]
[error] collectParts of h match {
[error] caseDFTypeAny=> h &DFTypeAny
[error] caseProduct=>FromProduct[h]
[error] } <:DFTypeAny
[error] collectParts of Of[h]
[error] collectParts of JUSTVAL[h]
[error] collectParts of JUSTVAL[h] *:Tuple.Map[t, JUSTVAL]
[error] ...
[error]
[error] collectParts of scala.runtime.MatchCase[NonEmptyTuple, DFTuple[Tuple.Map[DFBit, JUSTVAL]]]
[error] collectParts of DFBitmatch {
[error] caseNonEmptyTuple=>DFTuple[Tuple.Map[DFBit, JUSTVAL]]
[error] } <:DFTypeAny
[error] collectParts of FromProduct[DFBit]
[error] collectParts of scala.runtime.MatchCase[Product, FromProduct[DFBit]]
[error] collectParts of DFBitmatch {
[error] caseDFTypeAny=>DFBit&DFTypeAny
[error] caseProduct=>FromProduct[DFBit]
[error] } <:DFTypeAny
[error] collectParts of Of[DFBit]
[error] collectParts of DFValOf[Of[DFBit]]
[error] collectParts of (DFValOf[Of[DFBit]], DFValOf[Of[DFBit]])
[error] collectParts of DFTuple[(DFValOf[Of[DFBit]], DFValOf[Of[DFBit]])]
[error] collectParts of Width2[DFTuple[(DFValOf[Of[DFBit]], DFValOf[Of[DFBit]])]]
[error] valx= summon[Width2[Of[(DFBit, DFBit)]]]
Expectation
No crash. No error.
The text was updated successfully, but these errors were encountered:
Compiler version
First encountered as a crash in 3.3.1 nightly, but not merged into a final release (3.3.2/3.3.3 are good)
Last good release: 3.3.1-RC1-bin-20230511-5c4e597-NIGHTLY
First bad release: 3.3.1-RC1-bin-20230513-4cb6ee6-NIGHTLY
First bad commit: 5bafff7cc96f1f31f6e77620ca509dfa55d816b4
Minimized code
Output
Crash in 3.3.1
Error in 3.4.0:
Expectation
No crash. No error.
The text was updated successfully, but these errors were encountered: