From f9eb27daf750010556d49dd1411ac2433ac29f17 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Sat, 14 Jun 2014 12:51:24 +0200 Subject: Avoid NotImplementedError awaiting a Future[Nothing] `gen.mkZero(NothingTpe)` gives the tree `Predef.???`. Instead, we should leave the `await` field uninitialized with `ValDef(..., rhs = EmptyTree)`. Fixes #66 --- src/test/scala/scala/async/run/toughtype/ToughType.scala | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/test') diff --git a/src/test/scala/scala/async/run/toughtype/ToughType.scala b/src/test/scala/scala/async/run/toughtype/ToughType.scala index 458157c..54a53c8 100644 --- a/src/test/scala/scala/async/run/toughtype/ToughType.scala +++ b/src/test/scala/scala/async/run/toughtype/ToughType.scala @@ -211,6 +211,22 @@ class ToughTypeSpec { }(SomeExecutionContext) } } + + } + + @Test def ticket66Nothing() { + import scala.concurrent.Future + import scala.concurrent.ExecutionContext.Implicits.global + val e = new Exception() + val f: Future[Nothing] = Future.failed(e) + val f1 = async { + await(f) + } + try { + Await.result(f1, 5.seconds) + } catch { + case `e` => + } } } -- cgit v1.2.3