blob: ccb51e23aeaf23b366e013cb6a3d2cb28c7517ca (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
object Extractor {
def unapply(a: Any): Option[Product2[Int, String]] = Some(new P2(1, "2"))
}
class P2[A, B](val _1: A, val _2: B) extends Product2[A, B] {
def canEqual(other: Any) = true
def isP2 = true
}
object Test {
def main(args: Array[String]): Unit = {
"" match {
case Extractor(p) =>
val pp: Product2[Int, String] = p
}
"" match {
case Extractor(x, y) =>
val xx: Int = x
val yy: String = y
}
}
}
|