Scala 上遇到x个致命警告的死代码

Scala 上遇到x个致命警告的死代码,scala,Scala,我有一段代码: case class ColumnChange private(field: String, old: Option[JsValue], `new`: Option[JsValue]) @typeclass trait CreateColumnChanges[-New] { def fieldChanges(newValue: New): Vector[ColumnChange] } trait LowLevelFieldChangesImplicits { impo

我有一段代码:

case class ColumnChange private(field: String, old: Option[JsValue], `new`: Option[JsValue])

@typeclass
trait CreateColumnChanges[-New] {
  def fieldChanges(newValue: New): Vector[ColumnChange]
}

trait LowLevelFieldChangesImplicits {
  import com.github.ghik.silencer.silent

  @silent
  implicit object NothingColumnChanges extends CreateColumnChanges[Nothing] {
    override def columnChanges(newValue: Nothing): Vector[ColumnChange] = Vector.empty
  }
}
我已在我的
build.sbt
中启用了
“-Xfatal warnings”

当我编译项目时,会抛出以下错误:

 dead code following this construct
[error]   implicit object NothingCreateFieldChanges extends CreateFieldChanges[Nothing] {
我尝试将类型更改为
CreateColumnChanges[Any]
,但不知何故,许多测试都失败了,这使我的问题变得过于复杂,可能是因为
-New
处于相反的位置。我试着把这个
scalacOptions“-Ywarn dead code”
也放在构建文件中,但它没有任何效果,我再次得到同样的异常。我是用scala
2.12.10
编译的。而且
@silent
注释对它没有影响。如何更改代码以避免此错误。

最终,这一点起了作用

我将类型从
更改为
单元

,最后这一切都成功了


我将类型从
Nothing
更改为
Unit

我没有在代码段中看到
隐式对象NothingCreateFieldChanges扩展CreateFieldChanges[Nothing]
隐式对象NoColumnChanges扩展CreateColumnChanges[Nothing]
在2.12.10中编译时没有给我任何警告。我在代码段中没有看到
隐式对象NothingCreateFieldChanges扩展CreateFieldChanges[Nothing]
,而
隐式对象NoColumnChanges扩展CreateColumnChanges[Nothing]
在2.12.10中编译时没有给我任何警告。