Work around a Nim bug

This commit is contained in:
Zahary Karadjov 2020-04-10 16:43:12 +03:00
commit 26a5d82150
No known key found for this signature in database
GPG key ID: C8936F8A3073D609

View file

@ -379,7 +379,9 @@ proc append*(c: var WriteCursor, chars: openarray[char]) {.inline.} =
template appendMemCopy*[T](c: var WriteCursor, value: T) = template appendMemCopy*[T](c: var WriteCursor, value: T) =
bind append bind append
static: assert supportsCopyMem(T) static:
type TT = T # TODO This deals with a Nim bug
assert supportsCopyMem(TT)
let valueAddr = unsafeAddr value let valueAddr = unsafeAddr value
c.append makeOpenArray(cast[ptr byte](valueAddr), sizeof(value)) c.append makeOpenArray(cast[ptr byte](valueAddr), sizeof(value))