Open
Description
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)