diff options
author | Dominik Picheta <dominikpicheta@gmail.com> | 2016-09-17 17:21:05 +0200 |
---|---|---|
committer | Dominik Picheta <dominikpicheta@gmail.com> | 2016-09-17 17:21:05 +0200 |
commit | dfe416eaadc05a7262cfae16237d1a5d03049f14 (patch) | |
tree | e9b49533915a5a30dca3c6d5045b5f7ce058e0fb | |
parent | 75e5c87f1525d5c5ea59005bc458ff6f561a27c9 (diff) | |
download | Nim-dfe416eaadc05a7262cfae16237d1a5d03049f14.tar.gz |
Fixes Futures' `or` operation so that asyncftpclient compiles.
-rw-r--r-- | lib/pure/asyncdispatch.nim | 6 | ||||
-rw-r--r-- | lib/upcoming/asyncdispatch.nim | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim index 06c21e08d..f9085de55 100644 --- a/lib/pure/asyncdispatch.nim +++ b/lib/pure/asyncdispatch.nim @@ -383,11 +383,11 @@ proc `or`*[T, Y](fut1: Future[T], fut2: Future[Y]): Future[void] = ## Returns a future which will complete once either ``fut1`` or ``fut2`` ## complete. var retFuture = newFuture[void]("asyncdispatch.`or`") - proc cb(fut: Future[T]) = + proc cb[X](fut: Future[X]) = if fut.failed: retFuture.fail(fut.error) if not retFuture.finished: retFuture.complete() - fut1.callback = cb - fut2.callback = cb + fut1.callback = cb[T] + fut2.callback = cb[Y] return retFuture proc all*[T](futs: varargs[Future[T]]): auto = diff --git a/lib/upcoming/asyncdispatch.nim b/lib/upcoming/asyncdispatch.nim index 460dfbd1a..4465e961c 100644 --- a/lib/upcoming/asyncdispatch.nim +++ b/lib/upcoming/asyncdispatch.nim @@ -353,11 +353,11 @@ proc `or`*[T, Y](fut1: Future[T], fut2: Future[Y]): Future[void] = ## Returns a future which will complete once either ``fut1`` or ``fut2`` ## complete. var retFuture = newFuture[void]("asyncdispatch.`or`") - proc cb(fut: Future[T]) = + proc cb[X](fut: Future[X]) = if fut.failed: retFuture.fail(fut.error) if not retFuture.finished: retFuture.complete() - fut1.callback = cb - fut2.callback = cb + fut1.callback = cb[T] + fut2.callback = cb[Y] return retFuture proc all*[T](futs: varargs[Future[T]]): auto = |