i think i got it. let defaultSSLContext: SSLContext = nil #(306 at httpclient.nim)
this caused gc unsafe. i copied the code of proc newHttpClient*(userAgent = defUserAgent, maxRedirects = 5, sslContext = defaultSslContext, proxy: Proxy = nil, timeout = -1): HttpClient = and delete sslContext and warning goes away within the proc yes getContent requires ssl context also so it has same problem I think all the async related standard library must be gcsafe. because, we as a user can make gc un safe error easily. so the warning must be useful.