summaryrefslogtreecommitdiff
path: root/test/files/run/tailcalls.scala
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2011-11-07 09:55:10 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2011-11-07 09:55:10 +0000
commitda929738ccfcf21cc3d8fdb9ce7734e59c6847f0 (patch)
tree90e335ca1fb60fde22ad345df72aeb0f08aace22 /test/files/run/tailcalls.scala
parentc4e1b28cf79f73e4f8972263efb85ee879c39ebd (diff)
downloadscala-da929738ccfcf21cc3d8fdb9ce7734e59c6847f0.tar.gz
scala-da929738ccfcf21cc3d8fdb9ce7734e59c6847f0.tar.bz2
scala-da929738ccfcf21cc3d8fdb9ce7734e59c6847f0.zip
Backport of r25948
Diffstat (limited to 'test/files/run/tailcalls.scala')
-rw-r--r--test/files/run/tailcalls.scala16
1 files changed, 8 insertions, 8 deletions
diff --git a/test/files/run/tailcalls.scala b/test/files/run/tailcalls.scala
index 2d136b5708..33382405e1 100644
--- a/test/files/run/tailcalls.scala
+++ b/test/files/run/tailcalls.scala
@@ -194,10 +194,10 @@ object FancyTailCalls {
}
object PolyObject extends Application {
- def tramp[A](x: Int): Int =
+ def tramp[A](x: Int): Int =
if (x > 0)
tramp[A](x - 1)
- else
+ else
0
}
@@ -233,7 +233,7 @@ class NonTailCall {
if (n == 0) 0
else f2(n - 1)
}
-
+
}
//############################################################################
@@ -273,7 +273,7 @@ object Test {
}
println
}
-
+
def check_overflow(name: String, closure: => Int) {
print("test " + name)
try {
@@ -367,7 +367,7 @@ object Test {
check_success("TailCall.g3", TailCall.g3(max, max, Nil), 0)
check_success("TailCall.h1", TailCall.h1(max, max ), 0)
println
-
+
val NonTailCall = new NonTailCall
check_success("NonTailCall.f1", NonTailCall.f1(2), 0)
check_overflow("NonTailCall.f2", NonTailCall.f2(max))
@@ -382,17 +382,17 @@ object Test {
}
// testing explicit tailcalls.
-
+
import scala.util.control.TailCalls._
def isEven(xs: List[Int]): TailRec[Boolean] =
if (xs.isEmpty) done(true) else tailcall(isOdd(xs.tail))
def isOdd(xs: List[Int]): TailRec[Boolean] =
- if (xs.isEmpty) done(false) else tailcall(isEven(xs.tail))
+ if (xs.isEmpty) done(false) else tailcall(isEven(xs.tail))
assert(isEven((1 to 100000).toList).result)
-
+
}
//############################################################################