Разве рекурсивные структурные типы больше не поддерживаются в scala?

Некоторые люди утверждают, что 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

Это изменялось? Разве пример не должен компилировать?

5
задан gruenewa 12 August 2010 в 09:00
поделиться