aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/scala/async/run/ifelse0/IfElse0.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-25 11:51:34 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-26 16:13:42 +0100
commit26038aebf1555b582dba35e8bfc3698f126705c5 (patch)
tree89517670afcf4ff41648bddecf41603661a111dc /src/test/scala/scala/async/run/ifelse0/IfElse0.scala
parenta5cab2959067bc7f9d3884064fbf7bf7ec0b7285 (diff)
downloadscala-async-26038aebf1555b582dba35e8bfc3698f126705c5.tar.gz
scala-async-26038aebf1555b582dba35e8bfc3698f126705c5.tar.bz2
scala-async-26038aebf1555b582dba35e8bfc3698f126705c5.zip
Fix await in if condition / match scrutinee.
The type-checking performed in ANF transform is precarious, and needed to use the original condition/ scrutinee in a throwaway tree to get things to work.
Diffstat (limited to 'src/test/scala/scala/async/run/ifelse0/IfElse0.scala')
-rw-r--r--src/test/scala/scala/async/run/ifelse0/IfElse0.scala8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/run/ifelse0/IfElse0.scala b/src/test/scala/scala/async/run/ifelse0/IfElse0.scala
index 0a72f1e..e2b1ca6 100644
--- a/src/test/scala/scala/async/run/ifelse0/IfElse0.scala
+++ b/src/test/scala/scala/async/run/ifelse0/IfElse0.scala
@@ -47,4 +47,12 @@ class IfElseSpec {
val res = Await.result(fut, 2 seconds)
res mustBe (14)
}
+
+ @Test def `await in condition`() {
+ import AsyncId.{async, await}
+ val result = async {
+ if ({await(true); await(true)}) await(1) else ???
+ }
+ result mustBe (1)
+ }
}