Как применить исключения классов к параметрам предупреждений Scalac?

У нас возникают проблемы при использовании Scalac -Xfatal-warnings в следующих случаях:

  1. Неявные значения, используемые макросами внутри
  2. Внутренние значения, автоматически генерируемые макросами

В обоих случаях мы видим, что Scalac не компилируется, потому что обнаруживает, что некоторые значения не используются, в то время как мы знаем, что они используются (просто, когда мы удаляем их, код больше не компилируется).

Хотя эти два могут быть симптомами одной и той же проблемы в Scalac, для нас они сводятся к одной и той же проблеме: нам нужно отключить -Ywarn-unused в Scala 2.11.12.

Есть ли способ исключить определенные файлы классов, чтобы на них не влиял флаг компилятора?


person Edmondo1984    schedule 07.03.2018    source источник


Ответы (1)


Насколько я знаю, нет способа отключить флаг scalac только для одного файла (если вы скомпилируете весь проект сразу, например, с помощью sbt). Вы можете извлечь класс в отдельный модуль с разными флагами компиляции.

В случае неявных значений, используемых внутри макросов, лично я использую флаг -Ywarn-macros:after, который заставляет эти неявные значения, используемые в макросе, считаться использованными. (Речь о Scala 2.12.4).

person Mateusz Kubuszok    schedule 09.03.2018