diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index e2c063b9..10ef28c7 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -115,7 +115,7 @@ java.lang.Exception java.lang.Float java.lang.Integer - ;; java.lang.Iterable ;; meander + java.lang.Iterable java.lang.Long java.lang.Number java.lang.NumberFormatException diff --git a/test/babashka/main_test.clj b/test/babashka/main_test.clj index 2890309c..d224700a 100644 --- a/test/babashka/main_test.clj +++ b/test/babashka/main_test.clj @@ -558,6 +558,16 @@ (deftest java-stream-test (is (every? number? (bb nil "(take 2 (iterator-seq (.iterator (.doubles (java.util.Random.)))))")))) +(deftest iterable-test + (is (true? (bb nil " +(defn iter [coll] + (if (instance? java.lang.Iterable coll) + (.iterator ^java.lang.Iterable coll) + (let [s (or (seq coll) [])] + (.iterator ^java.lang.Iterable s)))) + +(= [1 2 3] (iterator-seq (iter [1 2 3])))")))) + ;;;; Scratch (comment