aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala/scala/async/neg/NakedAwait.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/scala/async/neg/NakedAwait.scala')
-rw-r--r--src/test/scala/scala/async/neg/NakedAwait.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/scala/scala/async/neg/NakedAwait.scala b/src/test/scala/scala/async/neg/NakedAwait.scala
index ecc84f9..c3537ec 100644
--- a/src/test/scala/scala/async/neg/NakedAwait.scala
+++ b/src/test/scala/scala/async/neg/NakedAwait.scala
@@ -93,6 +93,16 @@ class NakedAwait {
}
@Test
+ def nestedPatMatFunction() {
+ expectError("await must not be used under a nested class.") { // TODO more specific error message
+ """
+ | import _root_.scala.async.AsyncId._
+ | async { { case x => { await(false) } } : PartialFunction[Any, Any] }
+ """.stripMargin
+ }
+ }
+
+ @Test
def tryBody() {
expectError("await must not be used under a try/catch.") {
"""
@@ -143,4 +153,16 @@ class NakedAwait {
|""".stripMargin
}
}
+
+ @Test
+ def lazyValIllegal() {
+ expectError("lazy vals are illegal") {
+ """
+ | import _root_.scala.async.AsyncId._
+ | def foo(): Any = async { val x = { lazy val y = 0; y } }
+ | ()
+ |
+ |""".stripMargin
+ }
+ }
}