如何将类排除应用于Scalac警告选项?

时间:2018-03-07 18:56:27

标签: scala scalac

在以下情况下使用Scalac -Xfatal-warnings时遇到问题:

  1. 宏内部使用的隐式val
  2. 宏自动生成的内部值
  3. 在这两种情况下,我们都看到Scalac无法编译,因为它检测到某些值未被使用,而我们知道它们(简单地说,当我们删除它们时,代码不再编译)

    虽然这两个可能是Scalac中同一问题的症状,但它们归结为我们的同一问题:我们需要在Scala 2.11.12中禁用-Ywarn-unused

    有没有办法排除特定的类文件,因此它们不会受编译器标志的影响?

1 个答案:

答案 0 :(得分:1)

据我所知,没有办法只为一个文件禁用scalac标志(如果您通过例如sbt立即编译整个项目)。您可以使用不同的编译标志将类提取到单独的模块中。

如果在宏内部使用隐式值,我个人使用-Ywarn-macros:after标志,这使得在宏计数中使用这些含义。 (谈论Scala 2.12.4)。