runtime: allow ranging over a nil map

This appears to be allowed by the specification, at least it is allowed
by the main Go implementation: https://play.golang.org/p/S8jxAMytKDB

Allow it in TinyGo too, for consistency.

Found because it is triggered with `tinygo test flags`. This doesn't
make the flags package pass all tests, but is a step closer.
This commit is contained in:
Ayke van Laethem
2020-10-29 16:51:05 +01:00
committed by Ron Evans
parent 69e1aa4878
commit e99b8a24fe
2 changed files with 10 additions and 0 deletions
+3
View File
@@ -49,6 +49,9 @@ func main() {
println(testmapIntInt[2])
testmapIntInt[2] = 42
println(testmapIntInt[2])
for k := range nilmap {
println(k) // unreachable
}
arrKey := ArrayKey([4]byte{4, 3, 2, 1})
println(testMapArrayKey[arrKey])