import asyncnet, asyncdispatch var sock = newAsyncSocket() proc onConnect(future: Future[void]) = echo("Connected in future!") for i in 0 .. 50: var recvF = recv(sock, 10) recvF.callback = proc (future: Future[string]) = echo("Read ", future.read.len, ": ", future.read.repr) var ft = connect(sock, "127.0.0.1", Port(12345)) ft.callback = onConnect runForever() error: client.nim(13, 3) Error: type mismatch: got (Future[system.void], proc (future: Future[system.void]){.locks: <unknown>.}) but expected one of: proc callback=(future: FutureBase; cb: proc ()) proc callback=[T](future: Future[T]; cb: proc (future: Future[T]))
Must remove connect or recv line can build it. (v0.14.2). it's (future: Future[void]) bug.