diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim index 624836358..7cf1a36e3 100644 --- a/lib/pure/asyncdispatch.nim +++ b/lib/pure/asyncdispatch.nim @@ -369,15 +369,12 @@ proc all*[T](futs: varargs[Future[T]]): auto = let totalFutures = len(futs) - for i, fut in futs: - proc setCallback(i: int) = - fut.callback = proc(f: Future[T]) = - inc(completedFutures) + for fut in futs: + fut.callback = proc(f: Future[T]) = + inc(completedFutures) - if completedFutures == totalFutures: - retFuture.complete() - - setCallback(i) + if completedFutures == totalFutures: + retFuture.complete() return retFuture