Как использовать dotty в проекте scala?
Я работаю над проектом Scala, который я использую sbt
, Я хочу использовать типы соединений, которые предоставляются dotty
, У меня проблемы с использованием dotty
в моем проекте.
Я сделал это:
- добавленной
./projects/plugins.sbt
а также./projects/build.properties
с содержанием, упомянутым в sbt-dotty. - добавленной
./projects/scalafix.sbt
и файл конфигурации./.scalafix.conf
с содержаниемscalafixEnabled in ThisBuild := true
в этом. Это предусмотрено в sbt-scalafix
Теперь, если я скомпилирую проект, я получу огромный список Migration Warning
и ошибки, такие как Member Not Found Error
, Ambiguous overload
и заканчивается java.lang.AssertionError: no TypeBounds allowed
, Является ли исправление каждой из этих ошибок единственным способом избежать этого?
Проект работал нормально (с scalaVersion:= 2.12.1) до внесения этих изменений. Может кто-нибудь, пожалуйста, помогите мне заставить его работать?
Редактировать: sbtVersion = 0.13.13
1 ответ
Дотти в настоящее время находится на экспериментальной стадии (пре-альфа, на момент написания не было публичного релиза). То, что вы получаете ошибки компиляции, означает следующее:
- Ваша установка для компиляции вашего проекта с помощью sbt & dotty, вероятно, правильная (что отвечает на вопрос?)
- Ваша база кода может вызвать новые ошибки в Dotty
Stackru не является подходящим местом для обсуждения ошибок в неизданном программном обеспечении. Если вам удастся свести к минимуму проблему, пожалуйста, сообщите об этом на дотти проблемы (или приходите в чат). Если вы заинтересованы во взломе компилятора, на этих ранних стадиях также есть множество возможностей, сторонние участники всегда приветствуются!
Даже если это не часть вашего вопроса, я чувствую себя обязанным обратиться к комментарию @JörgWMittag. Дотти не новый язык программирования. Долгосрочная цель состоит в том, чтобы иметь возможность кросс-компиляции большей части экосистемы Scala с обоими компиляторами, как это в настоящее время имеет место в Scala 2.10/2.11/2.12. Сама Дотти является примером такого проекта, каждый тест выполняется с версией компилятора, скомпилированного scalac
(в настоящее время по умолчанию) и с загрузочной версией компилятора (dotty
составлено с dotty
).
Кроме того, в настоящее время создается инфраструктура для создания сообщества. Это хранилище для сбора (разветвлений) проектов с открытым исходным кодом Scala, которые можно кросс-компилировать с scalac
/ dotty
, которая служит дополнением тестовой инфраструктуры для компилятора.