aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/scala/async/run/anf/AnfTransformSpec.scala')
-rw-r--r--src/test/scala/scala/async/run/anf/AnfTransformSpec.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala b/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala
index 6dd4db7..595fa6c 100644
--- a/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala
+++ b/src/test/scala/scala/async/run/anf/AnfTransformSpec.scala
@@ -205,4 +205,26 @@ class AnfTransformSpec {
}
result mustBe (true)
}
+
+ @Test
+ def byNameExpressionsArentLifted() {
+ import _root_.scala.async.AsyncId.{async, await}
+ def foo(ignored: => Any, b: Int) = b
+ val result = async {
+ foo(???, await(1))
+ }
+ result mustBe (1)
+ }
+
+ @Test
+ def evaluationOrderRespected() {
+ import scala.async.AsyncId.{async, await}
+ def foo(a: Int, b: Int) = (a, b)
+ val result = async {
+ var i = 0
+ def next() = {i += 1; i}
+ foo(next(), await(next()))
+ }
+ result mustBe ((1, 2))
+ }
}