Некоторые люди утверждают, что scala может иметь дело с рекурсивными структурными типами, если вы используете опцию -Yrecursion в scalac. Тем не менее мой минималистический пример не компилируется:
type Num = {
def +(n: Num): Num
}
Выход компиляции:
$ scalac -version
Scala compiler version 2.8.0.final -- Copyright 2002-2010, LAMP/EPFL
$ scalac -Yrecursion 100 Num.scala
Num.scala:3: error: recursive method + needs result type
def +(n: Num): Num
^
one error found
Это изменилось? Разве пример не должен компилироваться?