diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-13 14:13:50 +0200 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2012-07-14 14:53:25 +0200 |
commit | 4276f61551b89162001dadbb3b77f29a85c19c4a (patch) | |
tree | c8bd6f02310fd656a5aaaa7514614180c8deeb79 /test | |
parent | 6f3c6e6ebdde463d2e319f75cd10bd6a796f59c0 (diff) | |
download | scala-4276f61551b89162001dadbb3b77f29a85c19c4a.tar.gz scala-4276f61551b89162001dadbb3b77f29a85c19c4a.tar.bz2 scala-4276f61551b89162001dadbb3b77f29a85c19c4a.zip |
SI-6077 more conservative TreeMakersToConds for CSE
we were dropping irrefutable extractor calls (implemented for SI-4691)
in common subcondition elimination, which caused bad code to be generated
clean up TreeMakersToConds significantly in the process
Diffstat (limited to 'test')
-rw-r--r-- | test/files/run/t6077_patmat_cse_irrefutable.check | 1 | ||||
-rw-r--r-- | test/files/run/t6077_patmat_cse_irrefutable.scala | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/test/files/run/t6077_patmat_cse_irrefutable.check b/test/files/run/t6077_patmat_cse_irrefutable.check new file mode 100644 index 0000000000..9766475a41 --- /dev/null +++ b/test/files/run/t6077_patmat_cse_irrefutable.check @@ -0,0 +1 @@ +ok diff --git a/test/files/run/t6077_patmat_cse_irrefutable.scala b/test/files/run/t6077_patmat_cse_irrefutable.scala new file mode 100644 index 0000000000..b130ae7813 --- /dev/null +++ b/test/files/run/t6077_patmat_cse_irrefutable.scala @@ -0,0 +1,13 @@ +class LiteralNode(val value: Any) + +object LiteralNode { + // irrefutable + def unapply(n: LiteralNode) = Some(n.value) +} + +object Test extends App { + ((new LiteralNode(false)): Any) match { + case LiteralNode(true) => println("uh-oh") + case LiteralNode(false) => println("ok") + } +}
\ No newline at end of file |