在 Scala 2.12 中,这些选项之间有什么区别:
-Xlint:adapted-args 对比 -Ywarn-adapted-args-Xlint:nullary-unit 对比 -Ywarn-nullary-unit-Xlint:inaccessible 对比 -Ywarn-inaccessible-Xlint:nullary-override 对比 -Ywarn-nullary-override-Xlint:infer-any 对比 -Ywarn-infer-any如果不是,使用哪个更有意义?我也用fatal-warnings, 和几乎所有-Ywarn和-Xlint选项进行编译。
如果你跑scalac -Xlint:help你会看到
? 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 viewbounds.
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.
constant Evaluation of a constant arithmetic expression results in an error.
unused Enable -Ywarn-unused:imports,privates,locals,implicits.
Default: All choices are enabled by default.
Run Code Online (Sandbox Code Playgroud)
所以选择Xlint选项或直接使用相应的标志没有区别。我会-Xlint选择(没有选项,所以默认情况下全部启用)并删除我不需要的,例如
-Xlint:-unused,_
启用除unused标志外的所有内容。