Closed
Description
Minimized code
type F <: F = 1 match {
case _ => foo.foo
}
def foo(a: Int): Unit = ???
Output (click arrow to expand)
-- Error: test.scala:1:10 ------------------------------------------------------
1 |type F <: F = 1 match {
| ^
|Recursion limit exceeded.
|Maybe there is an illegal cyclic reference?
|If that's not the case, you could also try to increase the stacksize using the -Xss JVM option.
|A recurring operation is (inner to outer):
|
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| ...
|
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
| type parameters of <: F
| type parameters of F
java.lang.StackOverflowError while compiling test.scala
Exception in thread "main" java.lang.StackOverflowError
at dotty.tools.dotc.core.Types$NamedType.denot(Types.scala:1981)
at dotty.tools.dotc.core.Types$NamedType.info(Types.scala:1974)
at dotty.tools.dotc.core.Types$TypeRef.underlying(Types.scala:2461)
at dotty.tools.dotc.core.Types$Type.baseClasses(Types.scala:496)
at dotty.tools.dotc.core.Types$Type.baseClasses(Types.scala:496)
at dotty.tools.dotc.core.Types$Type.baseClasses(Types.scala:496)
at dotty.tools.dotc.core.Types$Type.baseClasses(Types.scala:496)
at dotty.tools.dotc.core.Types$Type.baseClasses(Types.scala:496)