Від 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 у проекті Multiplatform:
Визначте аргумент компілятора для кожної цільової компіляції. Це стосується як виробничого коду, так і тестів.
kotlin {
targets.all {
compilations.all {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
}
}
kotlin.Result
? Я не можу знайти цей клас у стандартній бібліотеці .