-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Labels
area:capabilitiesIssues tied with scala.caps.CapabilitiesIssues tied with scala.caps.Capabilitiesarea:experimental:ccCapture checking relatedCapture checking relateditype:bugitype:crash
Description
Compiler version
3.8.0-RC1-bin-20250814-0cf7a18-NIGHTLY
Minimized code
//> using scala 3.nightly
//> using option -language:experimental.captureChecking
import scala.util.control.*
import caps.*
import scala.caps.unsafe.unsafeAssumePure
private case class Break[A] (label: Label[A]^{}, value: A) extends ControlThrowable with NoStackTrace
private object Break:
def apply[T](label: Label[T], value: T) =
new Break(label.unsafeAssumePure, value)
class Label[E] extends SharedCapability
Output (click arrow to expand)
�[2Khttps://repo1.maven.org/maven2/org/scala-lang/scala3-library_3/maven-metadata.xml
�[2K No new update since 2025-09-08 16:53:58
�[2A�[10000D�[2K�[1B�[2K�[1B�[2A�[2Khttps://repo1.maven.org/maven2/org/scala-lang/scala3-library_3/maven-metadata.xml
�[2K No new update since 2025-09-08 16:53:58
�[2A�[10000D�[2K�[1B�[2K�[1B�[2AException in thread "main" java.lang.StackOverflowError
at dotty.tools.dotc.core.Substituters$.mapArgs$1(Substituters.scala:22)
at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:22)
at dotty.tools.dotc.core.Types$Type.subst(Types.scala:1970)
at dotty.tools.dotc.core.Types$LambdaType.newLikeThis$$anonfun$2(Types.scala:3906)
at dotty.tools.dotc.core.Types$MethodType.<init>(Types.scala:4177)
at dotty.tools.dotc.core.Types$CachedMethodType.<init>(Types.scala:4201)
at dotty.tools.dotc.core.Types$MethodTypeCompanion.apply(Types.scala:4281)
at dotty.tools.dotc.core.Types$MethodTypeCompanion.apply(Types.scala:4280)
at dotty.tools.dotc.core.Types$LambdaType.newLikeThis(Types.scala:3906)
at dotty.tools.dotc.core.Types$LambdaType.newLikeThis$(Types.scala:3793)
at dotty.tools.dotc.core.Types$MethodOrPoly.newLikeThis(Types.scala:3919)
at dotty.tools.dotc.core.Types$LambdaType.derivedLambdaType(Types.scala:3896)
at dotty.tools.dotc.core.Types$LambdaType.derivedLambdaType$(Types.scala:3793)
at dotty.tools.dotc.core.Types$MethodOrPoly.derivedLambdaType(Types.scala:3919)
at dotty.tools.dotc.core.Types$TypeMap.derivedLambdaType(Types.scala:6255)
at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:6276)
at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:6364)
at dotty.tools.dotc.core.Substituters$.substParams(Substituters.scala:163)
at dotty.tools.dotc.core.Types$Type.substParams(Types.scala:1990)
at dotty.tools.dotc.core.Types$LambdaType.instantiate(Types.scala:3832)
at dotty.tools.dotc.core.Types$LambdaType.instantiate$(Types.scala:3793)
at dotty.tools.dotc.core.Types$MethodOrPoly.instantiate(Types.scala:3919)
at dotty.tools.dotc.typer.TypeAssigner.assignType(TypeAssigner.scala:395)
at dotty.tools.dotc.typer.TypeAssigner.assignType$(TypeAssigner.scala:18)
at dotty.tools.dotc.typer.Typer.assignType(Typer.scala:155)
at dotty.tools.dotc.ast.tpd$.TypeApply(tpd.scala:58)
at dotty.tools.dotc.ast.tpd$TreeOps$.appliedToTypeTrees$extension(tpd.scala:1018)
at dotty.tools.dotc.ast.tpd$TreeOps$.appliedToTypes$extension(tpd.scala:1010)
at dotty.tools.dotc.ast.tpd$.New(tpd.scala:569)
at dotty.tools.dotc.ast.tpd$.New(tpd.scala:561)
at dotty.tools.dotc.cc.CaptureAnnotation.tree(CaptureAnnotation.scala:49)
at dotty.tools.dotc.cc.Capabilities$CapToFresh.apply(Capability.scala:900)
at dotty.tools.dotc.cc.Capabilities$CapToFresh.apply(Capability.scala:901)
at dotty.tools.dotc.cc.Capabilities$CapToFresh.apply(Capability.scala:901)
at dotty.tools.dotc.cc.Capabilities$CapToFresh.apply(Capability.scala:901)
[...]
Note that removing the private
modifiers fixes the issue.
He-Pin
Metadata
Metadata
Assignees
Labels
area:capabilitiesIssues tied with scala.caps.CapabilitiesIssues tied with scala.caps.Capabilitiesarea:experimental:ccCapture checking relatedCapture checking relateditype:bugitype:crash