Fix corner-case uses of newLit (#10760)
This commit is contained in:
parent
7d7cd69070
commit
e9d3c5de19
1 changed files with 11 additions and 5 deletions
|
|
@ -703,6 +703,17 @@ when compiles(float128):
|
|||
result = newNimNode(nnkFloat128Lit)
|
||||
result.floatVal = f
|
||||
|
||||
proc newLit*(arg: enum): NimNode {.compileTime.} =
|
||||
result = newCall(
|
||||
arg.type.getTypeInst[1],
|
||||
newLit(int(arg))
|
||||
)
|
||||
|
||||
proc newLit*[N,T](arg: array[N,T]): NimNode {.compileTime.}
|
||||
proc newLit*[T](arg: seq[T]): NimNode {.compileTime.}
|
||||
proc newLit*[T](s: set[T]): NimNode {.compileTime.}
|
||||
proc newLit*(arg: tuple): NimNode {.compileTime.}
|
||||
|
||||
proc newLit*(arg: object): NimNode {.compileTime.} =
|
||||
result = nnkObjConstr.newTree(arg.type.getTypeInst[1])
|
||||
for a, b in arg.fieldPairs:
|
||||
|
|
@ -725,11 +736,6 @@ proc newLit*[T](arg: seq[T]): NimNode {.compileTime.} =
|
|||
),
|
||||
bracket
|
||||
)
|
||||
proc newLit*(arg: enum): NimNode {.compileTime.} =
|
||||
result = newCall(
|
||||
arg.type.getTypeInst[1],
|
||||
newLit(int(arg))
|
||||
)
|
||||
|
||||
proc newLit*[T](s: set[T]): NimNode {.compileTime.} =
|
||||
result = nnkCurly.newTree
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue