mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-04 20:17:42 +00:00
@@ -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
|
||||
Reference in New Issue
Block a user