Closed
Description
object Test {
case class CC2[A, B](a: A, b: B)
type T2[A, B] = CC2[A, B]
class ArrowAssoc[A](val self: A) {
@inline def f[B](y: B): CC2[A, B] = CC2(self, y)
}
def foo = (new ArrowAssoc(1)).f(2)
}
Exception in thread "main" java.lang.StackOverflowError
at dotty.tools.dotc.ast.tpd$.localSyms(tpd.scala:20)
at dotty.tools.dotc.typer.TypeAssigner$$anonfun$avoidingType$1.apply(TypeAssigner.scala:133)
at dotty.tools.dotc.typer.TypeAssigner$$anonfun$avoidingType$1.apply(TypeAssigner.scala:133)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.forbidden$lzycompute(TypeAssigner.scala:54)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.forbidden(TypeAssigner.scala:54)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2$$anonfun$toAvoid$1.apply(TypeAssigner.scala:59)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2$$anonfun$toAvoid$1.apply(TypeAssigner.scala:58)
at dotty.tools.dotc.core.Types$ExistsAccumulator.apply(Types.scala:3735)
at dotty.tools.dotc.core.Types$Type.existsPart(Types.scala:236)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.toAvoid(TypeAssigner.scala:58)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.apply(TypeAssigner.scala:69)
at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:3479)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.apply(TypeAssigner.scala:126)
at dotty.tools.dotc.typer.TypeAssigner$class.avoid(TypeAssigner.scala:129)
at dotty.tools.dotc.typer.Typer.avoid(Typer.scala:64)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.apply(TypeAssigner.scala:123)
at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:3479)
at dotty.tools.dotc.typer.TypeAssigner$$anon$2.apply(TypeAssigner.scala:126)
...
Metadata
Metadata
Assignees
Labels
No labels