Merge branch 'devel' into araq-fixes-6960
This commit is contained in:
commit
4c702d5ab2
10 changed files with 191 additions and 111 deletions
30
tests/errmsgs/tgcsafety.nim
Normal file
30
tests/errmsgs/tgcsafety.nim
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
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]; address = ""): Future[void]
|
||||
first type mismatch at position: 3
|
||||
required type: 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()
|
||||
|
|
@ -380,4 +380,11 @@ when isMainModule:
|
|||
let dataDeser = to(dataParsed, Test1)
|
||||
doAssert dataDeser.a == 1
|
||||
doAssert dataDeser.f == 6
|
||||
doAssert dataDeser.i == 9.9'f32
|
||||
doAssert dataDeser.i == 9.9'f32
|
||||
|
||||
# deserialize directly into a table
|
||||
block:
|
||||
let s = """{"a": 1, "b": 2}"""
|
||||
let t = parseJson(s).to(Table[string, int])
|
||||
doAssert t["a"] == 1
|
||||
doAssert t["b"] == 2
|
||||
Loading…
Add table
Add a link
Reference in a new issue