mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 18:32:11 +00:00
32 lines
1.1 KiB
Nim
32 lines
1.1 KiB
Nim
discard """
|
|
cmd: "nim check $file"
|
|
errormsg: "type mismatch: got <AsyncHttpServer, Port, proc (req: Request): Future[system.void]{.locks: <unknown>.}>"
|
|
nimout: '''
|
|
type mismatch: got <AsyncHttpServer, Port, proc (req: Request): Future[system.void]{.locks: <unknown>.}>
|
|
but expected one of:
|
|
proc serve(server: AsyncHttpServer; port: Port;
|
|
callback: proc (request: Request): Future[void] {.closure, gcsafe.};
|
|
address = ""; assumedDescriptorsPerRequest = -1): owned(Future[void])
|
|
first type mismatch at position: 3
|
|
required type for callback: proc (request: Request): Future[system.void]{.closure, gcsafe.}
|
|
but expression 'cb' is of type: proc (req: Request): Future[system.void]{.locks: <unknown>.}
|
|
This expression is not GC-safe. Annotate the proc with {.gcsafe.} to get extended error information.
|
|
|
|
expression: serve(server, Port(7898), cb)
|
|
'''
|
|
"""
|
|
|
|
# bug #6186
|
|
|
|
import asyncdispatch, asynchttpserver
|
|
|
|
var server = newAsyncHttpServer()
|
|
|
|
var foo = "foo"
|
|
proc cb(req: Request) {.async.} =
|
|
var baa = foo & "asds"
|
|
await req.respond(Http200, baa)
|
|
|
|
asyncCheck server.serve(Port(7898), cb )
|
|
runForever()
|