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) =
|
proc genNewSeqOfCap(c: PCtx; n: PNode; dest: var TDest) =
|
||||||
let t = n.typ
|
let t = n.typ
|
||||||
|
if dest < 0:
|
||||||
|
dest = c.getTemp(n.typ)
|
||||||
let tmp = c.getTemp(n[1].typ)
|
let tmp = c.getTemp(n[1].typ)
|
||||||
c.gABx(n, opcLdNull, dest, c.genType(t))
|
c.gABx(n, opcLdNull, dest, c.genType(t))
|
||||||
c.gABx(n, opcLdImmInt, tmp, 0)
|
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