don't use {.rtl.} for generics, otherwise -d:useNimRtl gives ambiguous identifier nimrtl error (#18406)

This commit is contained in:
Timothee Cour
2021-07-01 02:14:01 -07:00
committed by GitHub
parent 41c29cb3a1
commit 779b4e307b
3 changed files with 13 additions and 10 deletions

View File

@@ -30,12 +30,13 @@ when defined(createNimRtl):
{.pragma: inl.}
{.pragma: compilerRtl, compilerproc, exportc: "nimrtl_$1", dynlib.}
elif defined(useNimRtl):
when defined(windows):
const nimrtl* = "nimrtl.dll"
elif defined(macosx):
const nimrtl* = "libnimrtl.dylib"
else:
const nimrtl* = "libnimrtl.so"
#[
`{.rtl.}` should only be used for non-generic procs.
]#
const nimrtl* =
when defined(windows): "nimrtl.dll"
elif defined(macosx): "libnimrtl.dylib"
else: "libnimrtl.so"
{.pragma: rtl, importc: "nimrtl_$1", dynlib: nimrtl, gcsafe.}
{.pragma: inl.}
{.pragma: compilerRtl, compilerproc, importc: "nimrtl_$1", dynlib: nimrtl.}