scala不会对未使用的计算或值发出警告

scala不会对未使用的计算或值发出警告,scala,compiler-construction,warnings,scalac,Scala,Compiler Construction,Warnings,Scalac,我有一个小的scala示例: object Test { def add(x: Int, y: Int) = { val z = x - y x match { case 0 => 0 - y case 1 => 1 - y case _ => x - y } x + y } def main(args: Array[String]) { println(add(5, 6)) } }

我有一个小的scala示例:

object Test {
  def add(x: Int, y: Int) = {
    val z = x - y
    x match {
      case 0 => 0 - y
      case 1 => 1 - y
      case _ => x - y
    }
    x + y
  }

  def main(args: Array[String]) {
    println(add(5, 6))
  }
}
我觉得scala应该警告“z”和“x匹配…”未使用。我没有注意到任何编译器选项可以打开更多警告。我使用的是scala 2.10.1

想法?谢谢

如您所见,“未使用”警告将在下一版本的scala 2.11中引入

在-Xlint下警告未使用的专用/本地术语和类型以及未使用的导入


您可以使用最后一个里程碑来尝试它们。

这是编译器指示的非常有效的scala代码。未使用的变量警告通常是源代码分析器会发现并发出警告的内容。对于类似的代码,
java
编译器也没有显示警告。@Brian我不确定javac是否是基准。3名投票人说,我不需要臭类型的安全!我在比赛中放松了scalac,它仍在努力消除疲劳。它可以在丢弃单元值时发出警告,这表明如果它可以发出警告,它将发出警告。尝试添加
“-Ywarn value discard”
编译器选项。在2.11中:
-Ywarn unused在本地和私有VAL、VAR、DEF和类型未使用时发出警告。