От Kotlin KEEP :
Обоснование этих ограничений заключается в том, что будущие версии Kotlin могут расширять и / или изменять семантику функций, которые возвращают тип результата, а операторы безопасности с нулевым значением могут изменять свою семантику при использовании со значениями типа результата. Чтобы избежать нарушения существующего кода в будущих выпусках Kotin и оставить дверь открытой для этих изменений, соответствующие варианты использования теперь вызывают ошибку. Исключения из этого правила делаются для тщательно проверенных объявлений в стандартной библиотеке, которые являются частью самого API типа результата.
Примечание: если вы просто хотите поэкспериментировать с Result
типом, вы можете обойти это ограничение, указав аргумент компилятора Kotlin -Xallow-result-return-type
.
При использовании Gradle в проекте Java или Android:
определите аргумент компилятора в задаче компиляции Kotlin. Это применимо как для производственного кода, так и для тестов.
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
При использовании Gradle в многоплатформенном проекте:
определите аргумент компилятора для каждой целевой компиляции. Это применимо как для производственного кода, так и для тестов.
kotlin {
targets.all {
compilations.all {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
}
}
kotlin.Result
взялось? Я не могу найти этот класс в стандартной библиотеке .