scalax -Xlint帮助提供以下信息:
$ scalac -Xlint:help
Enable or disable specific warnings
adapted-args Warn if an argument list is modified to match the receiver.
nullary-unit Warn when nullary methods return Unit.
inaccessible Warn about inaccessible types in method signatures.
nullary-override Warn when non-nullary `def f()' overrides nullary `def f'.
infer-any Warn when a type argument is inferred to be `Any`.
missing-interpolator A string literal appears to be missing an interpolator id.
doc-detached A Scaladoc comment appears to be detached from its element.
private-shadow A private field (or class parameter) shadows a superclass field.
type-parameter-shadow A local type parameter shadows a type already in scope.
poly-implicit-overload Parameterized overloaded implicit methods are not visible as view bounds.
option-implicit Option.apply used implicit view.
delayedinit-select Selecting member of DelayedInit.
by-name-right-associative By-name parameter of right associative operator.
package-object-classes Class or object defined in package object.
unsound-match Pattern match may not be typesafe.
stars-align Pattern sequence wildcard must align with sequence component.
有没有办法启用所有检查? scalac -Xlint
的语义是什么?它会启用所有?默认设置(哪个)?不会做任何事情吗?
注意:Scala 2.11.8和sbt 0.13.9
如果较新的版本提供不同的行为/功能让我知道,因为更新它们不是问题
答案 0 :(得分:7)
-Xlint
currently means -Xlint:_
,但需要to be made explicit。
从历史上看,默认情况下始终存在噪音太大或不可靠的警告,因此-Xlint
始终会排除警告。
目前,有one such lintable,但它没有连接到命令行选项。
曾经有-Ywarn-all
表示-Xlint
加上其他警告。这个选项消失的原因并不明显。
有一次,-Xlint:_
意味着-Ywarn-all
,-Xlint
意味着推荐的子集,但事实证明人们喜欢用{禁用一个或两个lint规则{1}},如果能够实现任意多种其他噪声lint规则,则更难做到。
通常,-Xlint:-annoying,_
显示默认值;但可能会改进scalac -X
以显示其默认行为。对于类似scalac -Xlint:help
的内容,该默认值非常重要。
-Yopt