diff options
-rw-r--r-- | tests/run/patmat-option-named.scala | 21 |
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 + } +} |