diff --git a/src/net/cgrand/xforms.cljc b/src/net/cgrand/xforms.cljc index 0a54dd2..82135e0 100644 --- a/src/net/cgrand/xforms.cljc +++ b/src/net/cgrand/xforms.cljc @@ -557,7 +557,7 @@ "Iterator transducing context, returns an iterator on the transformed data. Equivalent to (.iterator (eduction xform (iterator-seq src-iterator))) except there's is no buffering on values (as in iterator-seq), This buffering may cause problems when mutable objects are returned by the src-iterator." - [xform ^java.util.Iterator src-iterator] + ^java.util.Iterator [xform ^java.util.Iterator src-iterator] (let [NULL (Object.) dq (java.util.ArrayDeque. 32) rf (xform (fn ([acc] acc) ([acc x] (.push dq (if (some? x) x NULL)) acc))) diff --git a/test/net/cgrand/xforms_test.cljc b/test/net/cgrand/xforms_test.cljc index 54b62e9..5280cf3 100644 --- a/test/net/cgrand/xforms_test.cljc +++ b/test/net/cgrand/xforms_test.cljc @@ -1,5 +1,6 @@ (ns net.cgrand.xforms-test - (:require [clojure.test :refer [is deftest testing]] + (:refer-clojure :exclude [partition reductions]) + (:require [clojure.test :refer [are is deftest testing]] [net.cgrand.xforms :as x])) (defn trial @@ -97,9 +98,9 @@ #?(:bb nil ;; babashka doesn't currently support calling iterator on range type :clj (deftest iterator - (is (true? (.hasNext (x/iterator x/count (.iterator (range 5)))))) - (is (is (= [5] (iterator-seq (x/iterator x/count (.iterator (range 5))))))) - (is (= [[0 1] [1 2] [2 3] [3 4] [4]] (iterator-seq (x/iterator (x/partition 2 1 nil) (.iterator (range 5))))))) + (is (true? (.hasNext (x/iterator x/count (.iterator ^java.lang.Iterable (range 5)))))) + (is (is (= [5] (iterator-seq (x/iterator x/count (.iterator ^java.lang.Iterable (range 5))))))) + (is (= [[0 1] [1 2] [2 3] [3 4] [4]] (iterator-seq (x/iterator (x/partition 2 1 nil) (.iterator ^java.lang.Iterable (range 5))))))) (deftest window-by-time (is (= (into