I am trying to get a better handle on understanding methods parameterized by types and have this piece of code -
 def inferType[T, U](x: T, y: U): Unit = y match {
    case _: T => println("T")
    case _    => println("Not T")
  }
 inferType("0", 11) // call 1
 inferType(0, 11)   // call 2
I would have expected call 1 to have printed "Not T" and call 2 to have printed "T". However, its printing "T" in both cases. Obviously I am missing something here. Can someone help me with why pattern matching is not matching the generic type T here?