diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-11-04 14:55:45 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-11-04 14:55:45 +1000 |
commit | b556b2fdcc7198bffe0ee90c5adc8c9eb3c29e36 (patch) | |
tree | 97aac3270399e4e12c71994099f84b9a048bdf30 /test/files/pos | |
parent | d61d007d4852032fcfd339ab2c904a4de6836c4d (diff) | |
parent | c6c58071a785af3a55e7e51339461e86c58ae876 (diff) | |
download | scala-b556b2fdcc7198bffe0ee90c5adc8c9eb3c29e36.tar.gz scala-b556b2fdcc7198bffe0ee90c5adc8c9eb3c29e36.tar.bz2 scala-b556b2fdcc7198bffe0ee90c5adc8c9eb3c29e36.zip |
Merge pull request #4036 from retronym/topic/opt-tail-calls
SI-8893 Restore linear perf in TailCalls with nested matches
Diffstat (limited to 'test/files/pos')
-rw-r--r-- | test/files/pos/t8893.scala | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/test/files/pos/t8893.scala b/test/files/pos/t8893.scala new file mode 100644 index 0000000000..b87c8bdd3c --- /dev/null +++ b/test/files/pos/t8893.scala @@ -0,0 +1,129 @@ +// Took > 10 minutes to run the tail call phase. +object Test { + def a(): Option[String] = Some("a") + + def main(args: Array[String]) { + a() match { + case Some(b1) => + a() match { + case Some(b2) => + a() match { + case Some(b3) => + a() match { + case Some(b4) => + a() match { + case Some(b5) => + a() match { + case Some(b6) => + a() match { + case Some(b7) => + a() match { + case Some(b8) => + a() match { + case Some(b9) => + a() match { + case Some(b10) => + a() match { + case Some(b11) => + a() match { + case Some(b12) => + a() match { + case Some(b13) => + a() match { + case Some(b14) => + a() match { + case Some(b15) => + a() match { + case Some(b16) => + a() match { + case Some(b17) => + a() match { + case Some(b18) => + a() match { + case Some(b19) => + a() match { + case Some(b20) => + a() match { + case Some(b21) => + a() match { + case Some(b22) => + a() match { + case Some(b23) => + a() match { + case Some(b24) => + a() match { + case Some(b25) => + a() match { + case Some(b26) => + a() match { + case Some(b27) => + a() match { + case Some(b28) => + a() match { + case Some(b29) => + a() match { + case Some(b30) => + println("yay") + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + case None => None + } + } +} + |