many bugfixes for js (#14158)

* many bugfixes for js

fixes #12672, fixes #14153, closes #14123, closes #11331, fixes #11783, fixes #13966, fixes #14087, fixes #14117, closes #12256.

mostly fixes the fact that it was allowed to assign to newly created temp variables. additionally attempts to get rid of null initialized seqs/strings (though they might pop up here and there); this simplifies a lot of things and makes code size smaller. even if null seqs/strings pop up here and there it's still better than all those bugs existing.

* formatting fixes

* CI fixes

* more CI fixes
This commit is contained in:
hlaaftana 2020-04-29 21:55:09 +03:00 • committed by GitHub
commit 707367e1ca
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 240 additions and 65 deletions

12
tests/js/t12672.nim Normal file
View file

@ -0,0 +1,12 @@
discard """
output: ""
"""
proc foo =
var x: seq[seq[int]]
for row in x.mitems:
let i = 1
echo row
inc row[i-1]
foo()