Z Kotlin KEEP :
Powodem tych ograniczeń jest to, że przyszłe wersje Kotlin mogą rozszerzać i / lub zmieniać semantykę funkcji, które zwracają typ wynikowy, a operatory bezpieczeństwa null mogą zmieniać semantykę, gdy są używane na wartościach typu Wynik. Aby uniknąć złamania istniejącego kodu w przyszłych wersjach Kotina i pozostawić otwarte drzwi dla tych zmian, odpowiednie zastosowania powodują teraz błąd. Wyjątki od tej reguły dotyczą dokładnie sprawdzonych deklaracji w bibliotece standardowej, które są częścią samego interfejsu API typu wynikowego.
Uwaga: jeśli chcesz po prostu eksperymentować z Result
typem, możesz ominąć to ograniczenie, podając argument kompilatora Kotlin -Xallow-result-return-type
.
Podczas korzystania z Gradle w projekcie Java lub Android:
Zdefiniuj argument kompilatora w zadaniu kompilacji Kotlin. Dotyczy to zarówno kodu produkcyjnego, jak i testów.
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
W przypadku korzystania z Gradle w projekcie wieloplatformowym:
Zdefiniuj argument kompilatora dla każdej kompilacji docelowej. Dotyczy to zarówno kodu produkcyjnego, jak i testów.
kotlin {
targets.all {
compilations.all {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
}
}
kotlin.Result
bierze? Nie mogę znaleźć tej klasy w bibliotece standardowej .