Scala фактически подавляет предупреждения компилятора
Как я могу на самом деле подавить предупреждение компилятора для:
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",
1 ответ
Решение
Вы должны просто вернуться Unit
явно из блока, куда вы звоните kryo.register
, Если блока нет, оберните его одним:
{
kryo.register(classOf[Foo])
kryo.register(classOf[Bar])
() // I know what I'm doing
}
О подавлении предупреждений в целом
К сожалению, у Scala нет встроенной системы подавления. Люди просят об этом, но это не тривиально. На данный момент есть два варианта:
- Отключить предупреждение полностью
- Используйте плагин компилятора: silencer