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
packageexamplesealedabstractclassTree[T]
caseclassLam[T,U]() extendsTree[Any]
caseclassApp[T,U]() extendsTree[Any]
caseclassVar() extendsTree[Any]
objectBranch:defunapply(branch: Lam[?,?] |App[?,?]):true=trueprivatedeffoo(s: Option[Tree[?]]) = s match// seems to only occur in a nested patterncaseSome(_: Var) =>true// must come firstcaseSome(Branch()) =>true// must be unapply and not direct type checkcase _ =>false
Crash output (click arrow to expand)
exception occurred while compiling local/eec.scala
NoExplanation(bad parameter reference (example.Lam[?, ?] | example.App[?, ?])#T at pruneErasedDefs
the parameter is typeT in classLam but the prefix example.Lam[?, ?] | example.App[?, ?]
does not define any corresponding arguments.) while compiling local/eec.scala
Exception in thread "main" dotty.tools.dotc.core.TypeError: bad parameter reference (example.Lam[?, ?] | example.App[?, ?])#T at pruneErasedDefs
the parameter is typeT in classLam but the prefix example.Lam[?, ?] | example.App[?, ?]
does not define any corresponding arguments.
at dotty.tools.dotc.core.Types$NamedType.argDenot(Types.scala:2069)
at dotty.tools.dotc.core.Types$NamedType.fromDesignator$1(Types.scala:1984)
at dotty.tools.dotc.core.Types$NamedType.computeDenot(Types.scala:2002)
at dotty.tools.dotc.core.Types$NamedType.denot(Types.scala:1958)
at dotty.tools.dotc.core.Types$NamedType.info(Types.scala:1947)
at dotty.tools.dotc.core.TypeComparer.compareNamed$1(TypeComparer.scala:236)
at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:282)
at dotty.tools.dotc.core.TypeComparer.op$1(TypeComparer.scala:1098)
at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1117)
at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:162)
at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:172)
at dotty.tools.dotc.core.TypeComparer.isSubArg$1(TypeComparer.scala:1270)
at dotty.tools.dotc.core.TypeComparer.compareCaptured$1(TypeComparer.scala:1242)
at dotty.tools.dotc.core.TypeComparer.isSubArg$1(TypeComparer.scala:1268)
at dotty.tools.dotc.core.TypeComparer.recurArgs$1(TypeComparer.scala:1275)
at dotty.tools.dotc.core.TypeComparer.isSubArgs(TypeComparer.scala:1278)
at dotty.tools.dotc.core.TypeComparer.checkSubArgs$1(TypeComparer.scala:868)
at dotty.tools.dotc.core.TypeComparer.loop$3(TypeComparer.scala:870)
at dotty.tools.dotc.core.TypeComparer.isMatchingApply$1(TypeComparer.scala:889)
at dotty.tools.dotc.core.TypeComparer.compareAppliedType2$1(TypeComparer.scala:982)
at dotty.tools.dotc.core.TypeComparer.thirdTry$1(TypeComparer.scala:512)
at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:462)
at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:357)
at dotty.tools.dotc.core.TypeComparer.op$1(TypeComparer.scala:1098)
at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1117)
at dotty.tools.dotc.core.TypeComparer.secondTry$1(TypeComparer.scala:449)
at dotty.tools.dotc.core.TypeComparer.firstTry$1(TypeComparer.scala:357)
at dotty.tools.dotc.core.TypeComparer.op$1(TypeComparer.scala:1098)
at dotty.tools.dotc.core.TypeComparer.recur(TypeComparer.scala:1117)
at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:162)
at dotty.tools.dotc.core.TypeComparer.isSubType(TypeComparer.scala:172)
at dotty.tools.dotc.core.TypeComparer.topLevelSubType(TypeComparer.scala:129)
at dotty.tools.dotc.core.Types$Type.$less$colon$less(Types.scala:900)
at dotty.tools.dotc.transform.patmat.SpaceEngine.isSubType(Space.scala:475)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$3(Space.scala:202)
at dotty.tools.dotc.transform.patmat.SpaceLogic.intersect(Space.scala:224)
at dotty.tools.dotc.transform.patmat.SpaceEngine.intersect(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$11$$anonfun$3(Space.scala:194)
at scala.collection.immutable.List.map(List.scala:219)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$3(Space.scala:194)
at dotty.tools.dotc.transform.patmat.SpaceLogic.intersect(Space.scala:224)
at dotty.tools.dotc.transform.patmat.SpaceEngine.intersect(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$18$$anonfun$4(Space.scala:261)
at scala.collection.immutable.List.exists(List.scala:367)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$4(Space.scala:261)
at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:270)
at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$17$$anonfun$3(Space.scala:247)
at scala.collection.immutable.List.map(List.scala:219)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$4(Space.scala:247)
at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:270)
at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$17$$anonfun$3(Space.scala:247)
at scala.collection.immutable.List.map(List.scala:223)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$4(Space.scala:247)
at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:270)
at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$16$$anonfun$2(Space.scala:245)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$4(Space.scala:245)
at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:270)
at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$16$$anonfun$2(Space.scala:245)
at scala.collection.LinearSeqOps.foldLeft(LinearSeq.scala:169)
at scala.collection.LinearSeqOps.foldLeft$(LinearSeq.scala:165)
at scala.collection.immutable.List.foldLeft(List.scala:79)
at dotty.tools.dotc.transform.patmat.SpaceLogic.op$4(Space.scala:245)
at dotty.tools.dotc.transform.patmat.SpaceLogic.minus(Space.scala:270)
at dotty.tools.dotc.transform.patmat.SpaceEngine.minus(Space.scala:306)
at dotty.tools.dotc.transform.patmat.SpaceEngine.checkExhaustivity(Space.scala:784)
at dotty.tools.dotc.transform.PatternMatcher.transformMatch(PatternMatcher.scala:45)
at dotty.tools.dotc.transform.MegaPhase.goMatch(MegaPhase.scala:746)
at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:345)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:396)
at dotty.tools.dotc.transform.MegaPhase.mapDefDef$1(MegaPhase.scala:245)
at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:248)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:394)
at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:404)
at dotty.tools.dotc.transform.MegaPhase.$anonfun$1(MegaPhase.scala:409)
at scala.collection.immutable.List.mapConserve(List.scala:444)
at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:409)
at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:339)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:396)
at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:251)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:394)
at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:404)
at dotty.tools.dotc.transform.MegaPhase.$anonfun$1(MegaPhase.scala:409)
at scala.collection.immutable.List.mapConserve(List.scala:444)
at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:409)
at dotty.tools.dotc.transform.MegaPhase.mapPackage$1(MegaPhase.scala:356)
at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:359)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:396)
at dotty.tools.dotc.transform.MegaPhase.transformUnit(MegaPhase.scala:415)
at dotty.tools.dotc.transform.MegaPhase.run(MegaPhase.scala:427)
at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:315)
at scala.collection.immutable.List.map(List.scala:219)
at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:316)
at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:167)
at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at dotty.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.ArrayOps$.foreach$extension(ArrayOps.scala:1323)
at dotty.tools.dotc.Run.runPhases$5(Run.scala:177)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:185)
at dotty.runtime.function.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:64)
at dotty.tools.dotc.Run.compileUnits(Run.scala:192)
at dotty.tools.dotc.Run.compileSources(Run.scala:129)
at dotty.tools.dotc.Run.compile(Run.scala:112)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:36)
at dotty.tools.dotc.Driver.process(Driver.scala:189)
at dotty.tools.dotc.Driver.process(Driver.scala:158)
at dotty.tools.dotc.Driver.process(Driver.scala:170)
at dotty.tools.dotc.Driver.main(Driver.scala:197)
at dotty.tools.dotc.Main.main(Main.scala)
The text was updated successfully, but these errors were encountered:
bishabosha
changed the title
GADT multi wildcard crash at pruneErasedDefs irrefutable boolean extractor
GADT crash at pruneErasedDefs (union of wildcards)
Feb 15, 2020
Uh oh!
There was an error while loading. Please reload this page.
minimized code
Crash output (click arrow to expand)
The text was updated successfully, but these errors were encountered: