mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
fixes #10651
This commit is contained in:
@@ -1149,7 +1149,7 @@ template isIndirect(x: PSym): bool =
|
||||
let v = x
|
||||
({sfAddrTaken, sfGlobal} * v.flags != {} and
|
||||
#(mapType(v.typ) != etyObject) and
|
||||
{sfImportc, sfVolatile, sfExportc} * v.flags == {} and
|
||||
{sfImportc, sfExportc} * v.flags == {} and
|
||||
v.kind notin {skProc, skFunc, skConverter, skMethod, skIterator,
|
||||
skConst, skTemp, skLet})
|
||||
|
||||
@@ -1235,7 +1235,7 @@ proc genProcForSymIfNeeded(p: PProc, s: PSym) =
|
||||
|
||||
proc genCopyForParamIfNeeded(p: PProc, n: PNode) =
|
||||
let s = n.sym
|
||||
if p.prc == s.owner or needsNoCopy(p, n):
|
||||
if p.prc == s.owner or needsNoCopy(p, n):
|
||||
return
|
||||
var owner = p.up
|
||||
while true:
|
||||
@@ -1597,8 +1597,7 @@ proc createVar(p: PProc, typ: PType, indirect: bool): Rope =
|
||||
internalError(p.config, "createVar: " & $t.kind)
|
||||
result = nil
|
||||
|
||||
template returnType: untyped =
|
||||
~""
|
||||
template returnType: untyped = ~""
|
||||
|
||||
proc genVarInit(p: PProc, v: PSym, n: PNode) =
|
||||
var
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
discard """
|
||||
output: "ABCDC"
|
||||
"""
|
||||
|
||||
type
|
||||
MyEnum = enum
|
||||
A,B,C,D
|
||||
# trick the optimizer with an seq:
|
||||
var x = @[A,B,C,D]
|
||||
echo x[0],x[1],x[2],x[3],MyEnum(2)
|
||||
37
tests/js/tbasics.nim
Normal file
37
tests/js/tbasics.nim
Normal file
@@ -0,0 +1,37 @@
|
||||
discard """
|
||||
output: '''ABCDC
|
||||
1
|
||||
14
|
||||
ok'''
|
||||
"""
|
||||
|
||||
type
|
||||
MyEnum = enum
|
||||
A,B,C,D
|
||||
# trick the optimizer with an seq:
|
||||
var x = @[A,B,C,D]
|
||||
echo x[0],x[1],x[2],x[3],MyEnum(2)
|
||||
|
||||
# bug #10651
|
||||
|
||||
var xa: seq[int]
|
||||
var ya = @[1,2]
|
||||
xa &= ya
|
||||
echo xa[0]
|
||||
|
||||
proc test =
|
||||
var yup: seq[int]
|
||||
try:
|
||||
yup.add 14
|
||||
echo yup.pop
|
||||
finally:
|
||||
discard
|
||||
|
||||
test()
|
||||
|
||||
when true:
|
||||
var a: seq[int]
|
||||
|
||||
a.setLen(0)
|
||||
|
||||
echo "ok"
|
||||
Reference in New Issue
Block a user