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

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

enter image description here

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

enter image description here

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 Ответ

0 голосов
/ 06 ноября 2018

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

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

enter image description here

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

enter image description here

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

enter image description here

...