This was the bug I was talking about: ```data clas...
# pattern-matching
m
This was the bug I was talking about:
Copy code
data 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:
Copy code
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:
Copy code
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.