diff options
author | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-03-25 11:05:50 -0700 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@typesafe.com> | 2013-03-25 11:05:50 -0700 |
commit | 424f00e7d6d76536710bbd8ed6aa0c2bb79196d0 (patch) | |
tree | b221b49048bf35db4336c6593e881ef31a613097 | |
parent | fcc22e22248992abffe2506ddef7c0f7c0b23044 (diff) | |
parent | 47fc00dc118764ffe939a2dad5005a3891ca7a5e (diff) | |
download | scala-424f00e7d6d76536710bbd8ed6aa0c2bb79196d0.tar.gz scala-424f00e7d6d76536710bbd8ed6aa0c2bb79196d0.tar.bz2 scala-424f00e7d6d76536710bbd8ed6aa0c2bb79196d0.zip |
Merge pull request #2293 from retronym/ticket/6210
SI-6210 Test case for already-fixed pattern matcher bug
-rw-r--r-- | test/files/pos/t6210.flags | 1 | ||||
-rw-r--r-- | test/files/pos/t6210.scala | 21 |
2 files changed, 22 insertions, 0 deletions
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 + } +} |