Как использовать 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, которая служит дополнением тестовой инфраструктуры для компилятора.

Другие вопросы по тегам