From 47fc00dc118764ffe939a2dad5005a3891ca7a5e Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Sat, 23 Mar 2013 13:02:46 +0100 Subject: SI-6210 Test case for already-fixed pattern matcher bug The fix arrived in SI-6022 / #1100 / 2.10.0-M7. --- test/files/pos/t6210.flags | 1 + test/files/pos/t6210.scala | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 test/files/pos/t6210.flags create mode 100644 test/files/pos/t6210.scala (limited to 'test/files/pos') diff --git a/test/files/pos/t6210.flags b/test/files/pos/t6210.flags new file mode 100644 index 0000000000..e8fb65d50c --- /dev/null +++ b/test/files/pos/t6210.flags @@ -0,0 +1 @@ +-Xfatal-warnings \ No newline at end of file diff --git a/test/files/pos/t6210.scala b/test/files/pos/t6210.scala new file mode 100644 index 0000000000..1ce8493872 --- /dev/null +++ b/test/files/pos/t6210.scala @@ -0,0 +1,21 @@ +abstract sealed trait AST +abstract sealed trait AExpr extends AST +case class AAssign(name: String, v: AExpr) extends AExpr +case class AConstBool(v: Boolean) extends AExpr + +trait Ty {} +case class TInt() extends Ty +case class TBool() extends Ty + +object Foo { + def checkExpr(ast: AExpr): Ty = { + var astTy:Ty = ast match { + case AAssign(nm: String, v:AExpr) => TBool() + + case AConstBool(v: Boolean) => TBool() + + case _ => throw new Exception(s"Unhandled case check(ast: ${ast.getClass})") + } + astTy + } +} -- cgit v1.2.3