问题标签 [scala-wartremover]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1511 浏览

scala - 如何避免推断类型不包含scala wart?

使用 scala wart我得到:

如何避免inferred type containing nothing

0 投票
1 回答
13709 浏览

scala - 我应该在声明案例类时使用 final 修饰符吗?

根据scala-wartremover静态分析工具,我必须在我创建的每个案例类前面加上“最终”:错误消息说“案例类必须是最终的”。

根据替罪羊(Scala的另一个静态分析工具),我不应该(错误消息:“案例类上的冗余最终修饰符”)

谁是对的,为什么?

0 投票
2 回答
1118 浏览

scala - Wartrremover 仍然在排除的播放路线文件中报告疣

我正在尝试将 Wartremover 添加到我的 Play 项目中,但即使我将其排除在外,它也会不断报告路由文件中的疣。我正在使用 Wartremover 0.14 和 Play Framework 2.4.6。

我的 build.sbt 中的相关部分:

(请注意,我必须采取不同于这个问题的答案所建议的方式。)

没有这wartremoverExcluded条线,Wartremover 在我的路由文件中报告了 13 个错误。有了它,它仍然会报告两个:一个 aboutWart.Var和一个 about Wart.ExplicitImplicitTypes。我也可以排除这些疣,但使用Warts.allBut(Wart.Var, Wart.ExplicitImplicitTypes),但我不想这样做,因为这会从我的整个代码库中排除这些疣,而不仅仅是路由文件。

有没有办法让 Wartrremover 停止在路由文件上报告这些疣,而不排除每个文件的这些疣?

0 投票
1 回答
1131 浏览

scala - 如何解析包含 Serializable 的推断类型

被这个难住了。使用 PlayJSON 和他们的 JsObject。

Wart remover 正在用胡萝卜(^)标记map调用,并在该行说 Inferred type contains Serializable。代码可以正常工作,但想知道更多关于为什么工具会标记此错误以及如何删除此错误。

JSObject.fields 是scala.collection.Seq[scala.Tuple2[scala.Predef.String, play.api.libs.json.JsValue]]

我发现令人困惑的是您知道该 valfieldValueMap的返回类型并且您知道jsObj.fields

0 投票
2 回答
1413 浏览

scala - 一次性价值观——Scala 的最佳实践是什么?

WartRemover NonUnitStatements要求不返回单元的语句必须有赋值。好的,但有时我们不得不使用既会变异又会返回值的恼人的 Java API,而我们实际上几乎不关心返回值。

所以我最终尝试了这个:

但是,如果我有多个,_实际上是已分配给的合法 val,因此我无法重新分配。Wartrremover 也会正确地警告无偿使用 var,所以我不能这样做var _ =

我可以执行以下操作(需要;避免 Scala 认为这是一个继续定义,除非我每次都添加一个完整的换行符)。

有没有更好的办法?

0 投票
0 回答
262 浏览

scala - 带有 java.io.Serializable 的 Scala WartRemover

我只是遇到了一个讨厌的错误,基本上,

所以 scala 继续推断List[java.io.Serializable]这个列表,因为Stringis not scala.Serializable, but is java.io.Serializable,并且 T is scala.Serializablewhich extends java.io.Serializable。我通常依靠 WartRemover 来捕捉此类错误,但在这种情况下它没有。显然它只抱怨 inferring scala.Serializable。有什么理由不警告疣java.io.Serializable吗?

0 投票
0 回答
726 浏览

scala - 使用 scala wart remover 获取日志消息的“null is disabled”警告

疣去除剂抱怨日志消息。它为什么抱怨?如何摆脱日志消息的疣去除器警告?

0 投票
1 回答
248 浏览

playframework - 播放框架和 wartremover:*.scala.html 文件的警告

我终于摆脱了在 build.sbt 中这条线路的 Wartrremover 警告:

我怎样才能为 *.scala.html 文件实现相同的目标?按目录排除似乎不起作用,包括

似乎根本没有任何效果

我正在使用 play-framework 2.6.11 和 sbt-wartremover 2.2.1 和 sbt 1.0.3

0 投票
1 回答
366 浏览

scala - Scala Async 和 Wartrremover

我想使用scala-async。我还使用启用了 [Return] 的 Wartrremover。(http://www.wartremover.org/doc/warts.html#return)。

然后我添加了一些代码来测试它:

当我尝试编译它时,它给了我错误:

有什么方法可以将 Wartremover 与 scala-async 一起使用?

0 投票
2 回答
194 浏览

scala - 有没有办法防止使用依赖项提供的特定功能?

我的应用程序对库 A 有编译依赖项。我知道这个库中有一个特定的函数会导致性能问题。但它并没有被弃用,如果你没有这些先验信息,你会认为使用它是安全的。我正在寻找一种方法来以某种方式弃用此函数或阻止它被直接调用。

是否可以通过静态分析工具或内置编译器标志来实现这一点?