summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorMiran <narimiran@disroot.org>2019-06-23 07:28:45 +0200
committerVarriount <Varriount@users.noreply.github.com>2019-06-22 22:28:45 -0700
commit3d50f7e2a15efdf1adb61902c7309f8b85691bb6 (patch)
treecf65e0afffe05494b1055b34c3799f3bb1dadb34 /lib
parent79c721d41814b4ec5f5c6e32c2093125cb41258c (diff)
downloadNim-3d50f7e2a15efdf1adb61902c7309f8b85691bb6.tar.gz
[bugfix] fix OrderedTable iterators (#11562)
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/collections/tables.nim12
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/pure/collections/tables.nim b/lib/pure/collections/tables.nim
index 02db10654..0e1a02b48 100644
--- a/lib/pure/collections/tables.nim
+++ b/lib/pure/collections/tables.nim
@@ -1253,11 +1253,13 @@ proc enlarge[A, B](t: var OrderedTable[A, B]) =
     h = nxt
 
 template forAllOrderedPairs(yieldStmt: untyped) {.dirty.} =
-  var h = t.first
-  while h >= 0:
-    var nxt = t.data[h].next
-    if isFilled(t.data[h].hcode): yieldStmt
-    h = nxt
+  if t.counter > 0:
+    var h = t.first
+    while h >= 0:
+      var nxt = t.data[h].next
+      if isFilled(t.data[h].hcode):
+        yieldStmt
+      h = nxt
 
 # ----------------------------------------------------------------------