12

我刚刚注意到我的代码中有一个错误,我在其中创建了一个新变量,但随后未能实际使用它。

我认为 scalac 会告诉我我的新变量未使用,但事实并非如此,在少量谷歌搜索/手册页之后,我找不到任何关于启用警告的信息。

我该怎么做才能启用此类警告?

4

3 回答 3

7

这个东西刚刚在 scala 用户邮件列表上讨论过。

讨论结果:IDE 的考虑任务是这样做(到目前为止,他们没有或至少不是很详尽)

主要论点似乎是 scala 编译器已经因速度慢而受到批评,因此在顶部添加更多内容可能不是一个好主意。

于 2012-09-12T10:50:55.007 回答
4

从 scalac 2.12 开始,您现在可以使用-Ywarn-unused:locals. 如果您不仅仅指局部变量,还有其他选项:

$ scalac -Ywarn-unused:help
Enable or disable specific `unused' warnings
  imports    Warn if an import selector is not referenced.
  patvars    Warn if a variable bound in a pattern is unused.
  privates   Warn if a private member is unused.
  locals     Warn if a local definition is unused.
  explicits  Warn if an explicit parameter is unused.
  implicits  Warn if an implicit parameter is unused.
  params     Enable -Ywarn-unused:explicits,implicits.
  linted     -Xlint:unused.
Default: All choices are enabled by default.
于 2018-05-03T16:20:07.217 回答
2

编译器现在可以警告您未使用的私有变量,因为d0c4be6861。这是下-Xlint。请参阅相关错误报告中的讨论。如果提及-Xlint不熟悉,答案在scalac手册页中。

于 2013-12-10T16:22:58.727 回答