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.