fixes #15717
This commit is contained in:
parent
919593395c
commit
558115fa29
2 changed files with 21 additions and 0 deletions
|
|
@ -683,6 +683,8 @@ proc genNewSeq(c: PCtx; n: PNode) =
|
|||
|
||||
proc genNewSeqOfCap(c: PCtx; n: PNode; dest: var TDest) =
|
||||
let t = n.typ
|
||||
if dest < 0:
|
||||
dest = c.getTemp(n.typ)
|
||||
let tmp = c.getTemp(n[1].typ)
|
||||
c.gABx(n, opcLdNull, dest, c.genType(t))
|
||||
c.gABx(n, opcLdImmInt, tmp, 0)
|
||||
|
|
|
|||
19
tests/vm/tnewseqofcap.nim
Normal file
19
tests/vm/tnewseqofcap.nim
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
discard """
|
||||
output: '''@["aaa", "bbb", "ccc"]'''
|
||||
"""
|
||||
|
||||
|
||||
const
|
||||
foo = @["aaa", "bbb", "ccc"]
|
||||
|
||||
proc myTuple: tuple[n: int, bar: seq[string]] =
|
||||
result.n = 42
|
||||
result.bar = newSeqOfCap[string](foo.len)
|
||||
for f in foo:
|
||||
result.bar.add(f)
|
||||
|
||||
# It works if you change the below `const` to `let`
|
||||
const
|
||||
(n, bar) = myTuple()
|
||||
|
||||
echo bar
|
||||
Loading…
Add table
Add a link
Reference in a new issue