Fix ambiguous calls when creating Variant from ints
This commit is contained in:
parent
bc7d12d780
commit
7d91c2b5cb
1 changed files with 16 additions and 6 deletions
|
|
@ -36,13 +36,23 @@ proc newVariant*(b: bool): Variant {.inline.} =
|
||||||
new(result, variantFinalizer)
|
new(result, variantFinalizer)
|
||||||
initGodotVariant(result.godotVariant[], b)
|
initGodotVariant(result.godotVariant[], b)
|
||||||
|
|
||||||
proc newVariant*(i: uint64): Variant {.inline.} =
|
# resolves Nim call ambiguities well
|
||||||
new(result, variantFinalizer)
|
template numConstructor(T, ConvT) =
|
||||||
initGodotVariant(result.godotVariant[], i)
|
proc newVariant*(i: T): Variant {.inline.} =
|
||||||
|
new(result, variantFinalizer)
|
||||||
|
initGodotVariant(result.godotVariant[], ConvT(i))
|
||||||
|
|
||||||
proc newVariant*(i: int64): Variant {.inline.} =
|
numConstructor(uint8, uint64)
|
||||||
new(result, variantFinalizer)
|
numConstructor(uint16, uint64)
|
||||||
initGodotVariant(result.godotVariant[], i)
|
numConstructor(uint32, uint64)
|
||||||
|
numConstructor(uint64, uint64)
|
||||||
|
numConstructor(uint, uint64)
|
||||||
|
|
||||||
|
numConstructor(int8, int64)
|
||||||
|
numConstructor(int16, int64)
|
||||||
|
numConstructor(int32, int64)
|
||||||
|
numConstructor(int64, int64)
|
||||||
|
numConstructor(int, int64)
|
||||||
|
|
||||||
proc newVariant*(r: cdouble): Variant {.inline.} =
|
proc newVariant*(r: cdouble): Variant {.inline.} =
|
||||||
new(result, variantFinalizer)
|
new(result, variantFinalizer)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue