summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@gmail.com>2016-09-17 17:21:05 +0200
committerDominik Picheta <dominikpicheta@gmail.com>2016-09-17 17:21:05 +0200
commitdfe416eaadc05a7262cfae16237d1a5d03049f14 (patch)
treee9b49533915a5a30dca3c6d5045b5f7ce058e0fb
parent75e5c87f1525d5c5ea59005bc458ff6f561a27c9 (diff)
downloadNim-dfe416eaadc05a7262cfae16237d1a5d03049f14.tar.gz
Fixes Futures' `or` operation so that asyncftpclient compiles.
-rw-r--r--lib/pure/asyncdispatch.nim6
-rw-r--r--lib/upcoming/asyncdispatch.nim6
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 =