1
fun <T: Any?> function(input: T): T = input
fun function2() {
    val n = function(1)!!
}

はヌル可能として宣言されているためT、出力もヌル可能であると予想していましたが、リントはUnnecessary non-null assertion (!!) on a non-null receiver of type Int警告を生成します。出力型シグネチャを に変更するT?と、警告が消えます。

出力型が宣言された nullability に準拠しないのはなぜですか?

4

4 に答える 4