diff options
author | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-10-20 13:26:07 +0000 |
---|---|---|
committer | Hubert Plociniczak <hubert.plociniczak@epfl.ch> | 2010-10-20 13:26:07 +0000 |
commit | add9be644fd7b2864e4dcdd792980622622c934a (patch) | |
tree | 6db3295dcbbcc453ac9f57ae8993ff0e3a68c4b9 /test/files/run/t3877.scala | |
parent | de3e8492e61e02777520e8876e9e1bccb4b0f065 (diff) | |
download | scala-add9be644fd7b2864e4dcdd792980622622c934a.tar.gz scala-add9be644fd7b2864e4dcdd792980622622c934a.tar.bz2 scala-add9be644fd7b2864e4dcdd792980622622c934a.zip |
Closes #3670, #3877.
Diffstat (limited to 'test/files/run/t3877.scala')
-rw-r--r-- | test/files/run/t3877.scala | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/test/files/run/t3877.scala b/test/files/run/t3877.scala new file mode 100644 index 0000000000..5710e982a0 --- /dev/null +++ b/test/files/run/t3877.scala @@ -0,0 +1,81 @@ +object Test { + val LIMIT = 10 + + def test1 { + var d = 2 + var i = 0 // avoid infinite loops + while (d < LIMIT && i < LIMIT) { + lazy val b = d + 1 + d = b + i += 1 + println("test1: " + d) + } + } + + def test2 { + var d = 2 + var i = 0 + while (true) { + lazy val b = d + 1 + d = b + i += 1 + println("test2: " + d) + + if (d >= LIMIT || i >= LIMIT) + return + } + } + + def test3 { + var d = 2 + var i = 0 + do { + lazy val b = d + 1 + d = b + i += 1 + println("test3: " + d) + } while (d < LIMIT && i < LIMIT) + } + + def test4 { + var d = 2 + var i = 0 + do { + lazy val b = d + 1 + d = b + i += 1 + println("test4: " + d) + if (d >= LIMIT || i >= LIMIT) + return + } while (true) + } + + def test5 { + var d = 2 + var i = 0 + while (d < LIMIT && i < LIMIT) { + lazy val b = d + 1 + d = b + i += 1 + println("test5.1: " + d) + + var e = 2 + var j = 0 + while (e < LIMIT && j < LIMIT) { + lazy val f = e + 1 + e = f + j += 1 + println("test5.2: " + e) + } + } + } + + + def main(args: Array[String]) { + test1 + test2 + test3 + test4 + test5 + } +} |