После обновления до Kotlin 1.3 я до сих пор не могу использовать контракт

Я обновил плагин Kotlin в IDEA с 1.2.71 до 1.3.0 и убедился, что новый SDK - это Project SDK:

Я ожидал, что смогу использовать новый kotlin.contracts.contract, но он темно-красный!

Information:Kotlin: kotlinc-jvm 1.3.0 (JRE 1.8.0_181-b13)
Error:(9, 9) Kotlin: Error in contract description: Error in contract description
Error:(9, 9) Kotlin: Unresolved reference: contract

Что мне нужно сделать, чтобы получить доступ к контрактам?

1 ответ

Решение

Уровень языка проекта не переносится автоматически. Поэтому новые языковые функции не будут доступны (и ваш код не сломается), если вы не сделаете что-то.

Измените уровень языка для вашего проекта вручную в File | Настройки | Сборка, выполнение, развертывание | Компилятор | Котлин Компилятор:

Или добавьте фасет к модулям, для которых вы хотите выборочно изменить уровень:

Для включения контрактов необходимы дальнейшие шаги, которые, в конце концов, являются экспериментальной функцией, но IDEA теперь поможет вам в этом:

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