Also because T allow nullable you can use it with ...
# announcements
g
Also because T allow nullable you can use it with nullable types:
Copy code
fun <T> foo(t: T, z: T?): T = t

fun getInt(i: Int?): Int? {
    return i;
}

fun main(args: Array<String>) {
    val x = foo(getInt(null), null) //x is Int?
    println(x) // null
    val y = foo(getInt(42), null) //y is Int?
    println(y) // 42 
    val z = foo(24, null) //z is Int
}
🤔 1