我对以下两个 Kotlin 代码片段感到困惑:
A:
val r: Result<Unit> = Result.success(Unit).map { Result.success(Unit) }
Run Code Online (Sandbox Code Playgroud)
乙:
val r: Result<Int> = Result.success(Unit).map { Result.success(1) }
Run Code Online (Sandbox Code Playgroud)
代码片段 A 可以编译,而代码片段 B 则不能编译。
有人可以解释一下为什么代码片段 A 适用于 Kotlin 类型系统吗?
kotlin ×1