Aus dem Kotlin KEEP :
Der Grund für diese Einschränkungen ist, dass zukünftige Versionen von Kotlin möglicherweise die Semantik von Funktionen erweitern und / oder ändern, die den Ergebnistyp zurückgeben, und Nullsicherheitsoperatoren ihre Semantik ändern können, wenn sie für Werte vom Ergebnistyp verwendet werden. Um zu vermeiden, dass in zukünftigen Versionen von Kotin vorhandener Code beschädigt wird, und die Tür für diese Änderungen offen zu lassen, führen die entsprechenden Verwendungen jetzt zu einem Fehler. Ausnahmen von dieser Regel gelten für sorgfältig überprüfte Deklarationen in der Standardbibliothek, die Teil der Ergebnistyp-API selbst sind.
Hinweis: Wenn Sie nur mit dem Result
Typ experimentieren möchten, können Sie diese Einschränkung umgehen, indem Sie ein Kotlin-Compiler-Argument angeben -Xallow-result-return-type
.
Bei Verwendung von Gradle in einem Java- oder Android-Projekt:
Definieren Sie das Compiler-Argument für die Kotlin-Kompilierungsaufgabe. Dies gilt sowohl für Produktionscode als auch für Tests.
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
Bei Verwendung von Gradle im Multiplattform-Projekt:
Definieren Sie das Compiler-Argument für jede Zielkompilierung. Dies gilt sowohl für Produktionscode als auch für Tests.
kotlin {
targets.all {
compilations.all {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
}
}
kotlin.Result
das? Ich kann diese Klasse nicht in der Standardbibliothek finden .