mattmoore
06/27/2020, 4:54 PMdata class Person(val firstName: String, val lastName: String)
fun main(args: Array<String>) {
val person = Person("Matt", "Moore")
val result = when (person) {
Person(capturedFirstName, _) -> capturedFirstName
else -> "Not matched"
}
println(result)
}
Yields:
e: java.lang.ClassCastException: org.jetbrains.kotlin.descriptors.impl.LocalVariableDescriptor cannot be cast to org.jetbrains.kotlin.descriptors.PropertyDescriptor
If I pull val person...
out of main
, then it works:
data class Person(val firstName: String, val lastName: String)
val person = Person("Matt", "Moore")
fun main(args: Array<String>) {
val result = when (person) {
Person(capturedFirstName, _) -> capturedFirstName
else -> "Not matched"
}
println(result)
}
I'm finally able to get back to this now.