diff options
author | liu fengyun <liufengyunchina@gmail.com> | 2016-07-21 10:45:14 +0200 |
---|---|---|
committer | liu fengyun <liufengyunchina@gmail.com> | 2016-08-24 10:26:59 +0200 |
commit | cc02243fbe8b7290265e1bdf540e4c2f256df199 (patch) | |
tree | bd83dcabb8de09fa48b9373b9431ef8c481da5ed /tests/patmat/t9672.scala | |
parent | 1a7618f32c6d8060c3a87ce633645440d500aa7a (diff) | |
download | dotty-cc02243fbe8b7290265e1bdf540e4c2f256df199.tar.gz dotty-cc02243fbe8b7290265e1bdf540e4c2f256df199.tar.bz2 dotty-cc02243fbe8b7290265e1bdf540e4c2f256df199.zip |
add test set for exhaustivity and redundancy check
Diffstat (limited to 'tests/patmat/t9672.scala')
-rw-r--r-- | tests/patmat/t9672.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/patmat/t9672.scala b/tests/patmat/t9672.scala new file mode 100644 index 000000000..fe068f3d5 --- /dev/null +++ b/tests/patmat/t9672.scala @@ -0,0 +1,28 @@ +trait Hierarchy { + sealed trait Expr +} +trait If { + this: Hierarchy => + case class If(cond: Expr, yes: Expr, no: Expr) extends Expr +} +trait Word { + this: Hierarchy => + case class Word(name: String) extends Expr +} +trait IntExpr { + this: Hierarchy => + case class IntExpr(value : Int) extends Expr +} + +object SimpleExpr extends Hierarchy with If with Word with IntExpr +//object OtherExpr extends Hierarchy with If with IntExpr + +object Demo extends App { + import SimpleExpr._ + def func(expr: Expr) = expr match { + case If(cond, yes, no) => cond + case Word(name) => name + // compiler should emit warning "missing case statement" + // emits the wrong warning "unreachable code" + } +}
\ No newline at end of file |