Hi guys! Could anyone explain me, how does this co...
# getting-started
h
Hi guys! Could anyone explain me, how does this code works? Thanks in advance.
Copy code
data class User(val firstName: String, var lastName: String)

fun <K> KProperty<K>.test(value: K) {}
fun <K> KMutableProperty<K>.test2(value: K) {}

fun main(args: Array<String>) {
    User::firstName.test("test")
    User::firstName.test(42) // Works as well. Why?

    User::lastName.test2("test")
    User::lastName.test2(42) // Doesn't work, as expected.
}