aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/run/patmat-option-named.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/run/patmat-option-named.scala b/tests/run/patmat-option-named.scala
new file mode 100644
index 000000000..b27d07107
--- /dev/null
+++ b/tests/run/patmat-option-named.scala
@@ -0,0 +1,21 @@
+case class HasSingleField(f: HasSingleField)
+
+object Test {
+
+ def main(args: Array[String]) = {
+ val s: Object = HasSingleField(null)
+ s match {
+ case Matcher(self) =>
+ assert(self ne null)
+ }
+ }
+}
+
+object Matcher {
+ def unapply(x: Object): Option[HasSingleField] = {
+ if (x.isInstanceOf[HasSingleField])
+ Some(x.asInstanceOf[HasSingleField])
+ else
+ None
+ }
+}