diff options
author | Paul Phillips <paulp@improving.org> | 2010-05-06 16:37:13 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-05-06 16:37:13 +0000 |
commit | c55b106f503d5e712e69823cfeb1cab2460221eb (patch) | |
tree | a1af091d9a2eeb16ee4747930511db4996c47140 /test/files/continuations-run/while2.scala | |
parent | cb35c38f14f6a53c38966bde8e64dcfa9af17918 (diff) | |
download | scala-c55b106f503d5e712e69823cfeb1cab2460221eb.tar.gz scala-c55b106f503d5e712e69823cfeb1cab2460221eb.tar.bz2 scala-c55b106f503d5e712e69823cfeb1cab2460221eb.zip |
Rolled partest back to r21328.
changes necessary to plug it back in while preserving everything which
has happened since then in tests and such, but we should be the lookout
for overreversion. Review by phaller (but as a formality, I don't think
it requires direct review.)
Diffstat (limited to 'test/files/continuations-run/while2.scala')
-rw-r--r-- | test/files/continuations-run/while2.scala | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/files/continuations-run/while2.scala b/test/files/continuations-run/while2.scala new file mode 100644 index 0000000000..f36288929e --- /dev/null +++ b/test/files/continuations-run/while2.scala @@ -0,0 +1,23 @@ +// $Id$ + +import scala.util.continuations._ + + +object Test { + + def foo1(): Int @cps[Unit] = 2 + def foo2(): Int @cps[Unit] = shift { k => println("up"); k(2); println("down") } + + def test(): Unit @cps[Unit] = { + var x = 0 + while (x < 9000) { // pick number large enough to require tail-call opt + x += (if (x % 1000 != 0) foo1() else foo2()) + } + println(x) + } + + def main(args: Array[String]): Any = { + reset(test()) + } + +}
\ No newline at end of file |