summaryrefslogtreecommitdiff
path: root/test/files/neg/bug960.scala
diff options
context:
space:
mode:
Diffstat (limited to 'test/files/neg/bug960.scala')
-rwxr-xr-xtest/files/neg/bug960.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/files/neg/bug960.scala b/test/files/neg/bug960.scala
new file mode 100755
index 0000000000..5101cf8433
--- /dev/null
+++ b/test/files/neg/bug960.scala
@@ -0,0 +1,20 @@
+sealed abstract class List[+a]
+private case object Nil extends List[Nothing]
+private final case class Cons[+a](head: a, tail: List[a])
+extends List[a]
+
+object List {
+ def unapply[a](xs: List[a]): Option[(a, List[a])] = xs match {
+ case Nil => None
+ case Cons(x, xs) => Some(x, xs)
+ }
+
+ def unapply[a](xs: List[a]): Option[Null] = xs match {
+ case Nil => Some(null)
+ case Cons(_, _) => None
+ }
+
+ def foo[a](xs: List[a]) = xs match {
+ case List(x, xs) => 7
+ }
+}