scala实际上抑制了编译器警告
如何实际抑制编译器警告:scala实际上抑制了编译器警告,scala,warnings,compiler-warnings,scalac,Scala,Warnings,Compiler Warnings,Scalac,如何实际抑制编译器警告: discarded non-Unit value [warn] kryo.register(classOf[Foo]) 的建议不适用,因为问题发生在我自己的代码之外 编辑 编译器选项包括: "-target:jvm-1.8", "-encoding", "UTF-8", "-feature", "-unchecked", "-deprecation", "-Xfuture", "-Xlint:missing-interpolator
discarded non-Unit value
[warn] kryo.register(classOf[Foo])
的建议不适用,因为问题发生在我自己的代码之外
编辑
编译器选项包括:
"-target:jvm-1.8",
"-encoding",
"UTF-8",
"-feature",
"-unchecked",
"-deprecation",
"-Xfuture",
"-Xlint:missing-interpolator",
"-Yno-adapted-args",
"-Ywarn-dead-code",
"-Ywarn-numeric-widen",
"-Ywarn-value-discard",
"-Ywarn-dead-code",
"-Ywarn-unused"
这将警告“-Ywarn value discard”,
您只需从调用kryo.register的块显式返回Unit
。如果没有块,请将其包装为一个:
{
kryo.register(classOf[Foo])
kryo.register(classOf[Bar])
() // I know what I'm doing
}
关于一般的警告抑制
不幸的是,Scala没有内置的抑制系统。人,但这不是微不足道的成就。目前有两种选择:
完全禁用警告
使用编译器插件:
如果您指定了所使用的编译器/linter选项,可能会有所帮助,但我会尝试val=kryo.register(classOf[Foo])
您的建议不起作用,因为对函数的多次调用kryo.register(classOf[Foo])kryo.register(classOf[Bar])
将失败。