scala中不再支持递归结构类型吗?

时间:2010-08-12 09:00:44

标签: scala

有些人声称如果使用scalac的-Yrecursion选项,scala能够处理递归结构类型。然而,我的简约例子不能编译:

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

这改变了吗?该示例不应该编译吗?

1 个答案:

答案 0 :(得分:8)

从未支持递归结构类型。 -Yrecursion选项执行与结构类型无关的操作。