Desde Kotlin KEEP :
El motivo de estas limitaciones es que las versiones futuras de Kotlin pueden expandir y / o cambiar la semántica de las funciones que devuelven el tipo de resultado y los operadores de seguridad nula pueden cambiar su semántica cuando se utilizan en valores de tipo de resultado. Para evitar romper el código existente en futuras versiones de Kotin y dejar la puerta abierta para esos cambios, los usos correspondientes producen un error ahora. Se hacen excepciones a esta regla para las declaraciones cuidadosamente revisadas en la biblioteca estándar que son parte de la API de tipo de resultado.
Nota: si solo desea experimentar con el Result
tipo, puede omitir esta limitación proporcionando un argumento del compilador de Kotlin -Xallow-result-return-type
.
Al usar Gradle en un proyecto de Java o Android:
Defina el argumento del compilador en la tarea de compilación de Kotlin. Se aplica tanto al código de producción como a las pruebas.
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
Al usar Gradle en un proyecto multiplataforma:
Defina el argumento del compilador para cada compilación de destino. Se aplica tanto al código de producción como a las pruebas.
kotlin {
targets.all {
compilations.all {
kotlinOptions {
freeCompilerArgs = freeCompilerArgs + "-Xallow-result-return-type"
}
}
}
}
kotlin.Result
viene No puedo encontrar esa clase en la biblioteca estándar .