Skip to content

StackOverflow in VarianceChecker #4370

Closed
@sir-wabbit

Description

@sir-wabbit
object App {
  class Foo { type R = A }
  type A = List[Foo#R]
}
Exception in thread "main" java.lang.StackOverflowError
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.$anonfun$apply$2(VarianceChecker.scala:85)
	at dotty.tools.dotc.reporting.trace$.op1$3(trace.scala:32)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:33)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:39)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.apply(VarianceChecker.scala:84)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.apply(VarianceChecker.scala:28)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4378)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.$anonfun$apply$2(VarianceChecker.scala:99)
	at dotty.tools.dotc.reporting.trace$.op1$3(trace.scala:32)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:33)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:39)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.apply(VarianceChecker.scala:84)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.apply(VarianceChecker.scala:28)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4349)
	at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4354)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.$anonfun$apply$2(VarianceChecker.scala:99)
	at dotty.tools.dotc.reporting.trace$.op1$3(trace.scala:32)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:33)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:39)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.apply(VarianceChecker.scala:84)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.$anonfun$apply$2(VarianceChecker.scala:90)
	at dotty.tools.dotc.reporting.trace$.op1$3(trace.scala:32)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:33)
	at dotty.tools.dotc.reporting.trace$.apply(trace.scala:39)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.apply(VarianceChecker.scala:84)
	at dotty.tools.dotc.typer.VarianceChecker$Validator$.$anonfun$apply$2(VarianceChecker.scala:90)
	at dotty.tools.dotc.reporting.trace$.op1$3(trace.scala:32)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions