summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-08-15 16:59:59 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-08-15 17:05:24 +1000
commita16a635b647bb1cdb0759ab4ba1e794ec56d8081 (patch)
tree417fca794a17f4e759a315a28510a3ef0841cc43 /test
parent7a6947487dc8ea551ff7489b07cc30366b39d25e (diff)
downloadscala-a16a635b647bb1cdb0759ab4ba1e794ec56d8081.tar.gz
scala-a16a635b647bb1cdb0759ab4ba1e794ec56d8081.tar.bz2
scala-a16a635b647bb1cdb0759ab4ba1e794ec56d8081.zip
SI-8793 Fix patmat regression with extractors, existentials
In the same vein as SI-8128 / 3e9e2c65a, revert to the 2.10.x style of determining the types of the product elements of an extractor when using `TupleN`. I believe we can discard the special casing for Option/Tuple/Seq altogether with judicious application of `repackExistential` in `unapplyMethodTypes`. That ought to also fix fix SI-8149. But I'll target that work at 2.12.x.
Diffstat (limited to 'test')
-rw-r--r--test/files/pos/t8793.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/pos/t8793.scala b/test/files/pos/t8793.scala
new file mode 100644
index 0000000000..1276155675
--- /dev/null
+++ b/test/files/pos/t8793.scala
@@ -0,0 +1,15 @@
+package regr
+
+trait F[A]
+
+class G(val a: F[_], val b: F[_])
+
+object G {
+ def unapply(g: G) = Option((g.a, g.b))
+}
+
+object H {
+ def unapply(g: G) = g match {
+ case G(a, _) => Option(a)
+ }
+}