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 に準拠しないのはなぜですか?