summary refs log tree commit diff stats
path: root/tests/async/tnimcall_to_closure.nim
blob: 748b67cb134e333c19363fe8c51d811add4a3ae4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import asyncdispatch

proc defaultOnProgressChanged() = discard

proc ask(x: proc()) = x()

proc retrFile*(onProgressChanged: proc() {.nimcall.}): Future[void] =
  var retFuture = newFuture[void]("retrFile")
  iterator retrFileIter(): FutureBase {.closure.} =
    ask(onProgressChanged)
    complete(retFuture)

  var nameIterVar = retrFileIter
  return retFuture

discard retrFile(defaultOnProgressChanged)