Skip to content

Commit 7b9c61d

Browse files
immohstuarthalloway
authored andcommitted
CLJ-1711 - Fix structmap iterator
Signed-off-by: Stuart Halloway <[email protected]>
1 parent ce033a1 commit 7b9c61d

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

src/jvm/clojure/lang/PersistentStructMap.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,9 @@ public boolean hasNext(){
195195
public Object next(){
196196
if(ks != null)
197197
{
198-
Object ret = ks.first();
198+
Object key = ks.first();
199199
ks = ks.next();
200-
return ret;
200+
return entryAt(key);
201201
}
202202
else if(extIter != null && extIter.hasNext())
203203
return extIter.next();

test/clojure/test_clojure/data_structures.clj

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1261,4 +1261,17 @@
12611261
(defspec seq-and-iter-match-for-vals
12621262
identity
12631263
[^{:tag clojure.test-clojure.data-structures/gen-map} m]
1264-
(seq-iter-match (vals m) (vals m)))
1264+
(seq-iter-match (vals m) (vals m)))
1265+
1266+
(defstruct test-struct :a :b)
1267+
1268+
(defn gen-struct
1269+
[]
1270+
(let [s (struct test-struct (gen/int) (gen/int))]
1271+
(gen/one-of s
1272+
(assoc s (rand-nth cgen/ednable-scalars) (rand-nth cgen/ednable-scalars)))))
1273+
1274+
(defspec seq-and-iter-match-for-structs
1275+
identity
1276+
[^{:tag clojure.test-clojure.data-structures/gen-struct} s]
1277+
(seq-iter-match s s))

0 commit comments

Comments
 (0)