scala不会对未使用的计算或值发出警告
我有一个小的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)) } }
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和类型未使用时发出警告。