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/patmat-extractor.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/patmat-extractor.scala')
-rw-r--r-- | tests/patmat/patmat-extractor.scala | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/patmat/patmat-extractor.scala b/tests/patmat/patmat-extractor.scala new file mode 100644 index 000000000..02fde96dc --- /dev/null +++ b/tests/patmat/patmat-extractor.scala @@ -0,0 +1,17 @@ +sealed trait Node +case class NodeA(i: Int) extends Node +case class NodeB(b: Boolean) extends Node +case class NodeC(s: String) extends Node + +object Node { + def unapply(node: Node): Option[(Node, Node)] = ??? +} + +// currently scalac can't do anything with following +// it's possible to do better in our case +object Test { + def foo(x: Node): Boolean = x match { // unexhaustive + case Node(NodeA(_), NodeB(_)) => true + case Node(NodeA(4), NodeB(false)) => true // unreachable code + } +}
\ No newline at end of file |