Skip to content

Compiler crushes when multiple groups of type arguments are used inside smth that extends AnyVal #23266

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
road21 opened this issue May 26, 2025 · 0 comments

Comments

@road21
Copy link
Contributor

road21 commented May 26, 2025

Compiler version

3.6.4
3.7.0

Minimized code

//> using scala 3.7.0

class Foo(v: Any) extends AnyVal:
  def bar[X](bar: X)[Y]: Any = v

@main def run: Unit =
  val f = new Foo("lol")
  println(f.bar[String]("")[Boolean])

https://scastie.scala-lang.org/road21/KVxB0mpuShWmkcJQRdLnRQ

Output (click arrow to expand)

Error: java.lang.AssertionError: assertion failed
        at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:11)
        at dotty.tools.dotc.transform.VCInlineMethods.rewire(VCInlineMethods.scala:65)
        at dotty.tools.dotc.transform.VCInlineMethods.rewireIfNeeded(VCInlineMethods.scala:98)
        at dotty.tools.dotc.transform.VCInlineMethods.transformTypeApply(VCInlineMethods.scala:106)
        at dotty.tools.dotc.transform.MegaPhase.goTypeApply(MegaPhase.scala:696)
        at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:321)
        at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:454)
        at dotty.tools.dotc.transform.MegaPhase.loop$3(MegaPhase.scala:486)
        at dotty.tools.dotc.transform.MegaPhase.transformTrees(MegaPhase.scala:486)
        at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:296)
        at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:454)
        at dotty.tools.dotc.transform.MegaPhase.loop$2$$anonfun$1(MegaPhase.scala:474)
        at dotty.tools.dotc.transform.MegaPhase.loop$2(MegaPhase.scala:476)
        at dotty.tools.dotc.transform.MegaPhase.transformBlock(MegaPhase.scala:476)
        at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:315)
        at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:454)
        at dotty.tools.dotc.transform.MegaPhase.mapDefDef$1(MegaPhase.scala:265)
        at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:268)
        at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:452)
@road21 road21 added itype:bug itype:crash stat:needs triage Every issue needs to have an "area" and "itype" label labels May 26, 2025
@Gedochao Gedochao added area:transform and removed stat:needs triage Every issue needs to have an "area" and "itype" label labels May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants