diff options
Diffstat (limited to 'tests/run/t1697.scala')
-rw-r--r-- | tests/run/t1697.scala | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/run/t1697.scala b/tests/run/t1697.scala new file mode 100644 index 000000000..39dcdd732 --- /dev/null +++ b/tests/run/t1697.scala @@ -0,0 +1,19 @@ +class Term +case class Num(n: Int) extends Term +case class Add(x: Term, y: Term) extends Term + +object Value { + def unapply(term: Any): Boolean = true +} + +object Test { + def main(args: Array[String]): Unit = { + val term = Add(Num(1), Add(Num(2), Num(3))) + val res = term match { + case Add(Num(x), Num(y)) => "Add(Num, Num)" + case Add(Value(), y) => "Add(Value, ?)" + case _ => "?" + } + assert(res == "Add(Value, ?)") + } +} |