fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStm… (#15078)

* fix #11354 jsgen not carefully handle genAddr with nkHiddenAddr,nkStmtListExpr; genAsgn with lvalue tyVar and rvalue tyPtr

* correct logic

* add test for #11354

* handle nkHiddenAddr when n.len == 1

* Update compiler/jsgen.nim

* Update compiler/jsgen.nim

* Apply suggestions from code review

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
This commit is contained in:
Bung 2020-07-28 03:13:49 +08:00 • committed by GitHub
commit cac09a43ae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 1 deletions

20
tests/js/t11354.nim Normal file
View file

@ -0,0 +1,20 @@
discard """
output: '''
0
@[@[0, 1]]
'''
"""
type
TrackySeq[T] = object
s: seq[T]
pos: int
proc foobar(ls: var TrackySeq[seq[int]], i: int): var seq[int] =
echo ls.pos # removing this, or making the return explicit works
ls.s[i]
var foo: TrackySeq[seq[int]]
foo.s.add(@[0])
foo.foobar(0).add(1)
echo foo.s