aboutsummaryrefslogtreecommitdiff
path: root/tests/run/t1697.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run/t1697.scala')
-rw-r--r--tests/run/t1697.scala19
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, ?)")
+ }
+}