Sequence and Eduction produce infinite loop in transducer that appends to the reduction
Example: a transducer that appends :foo to the result of the reduction:
In Clojure, the above code yields
. In ClojureScript, it results in an infinite loop. The same happens with `eduction`.
doesn't produce an error.
See regression in CLJS-2258.
The implementation of transducers in ClojureScript tracked an old counterpart in
the Clojure codebase. This patch addresses the change introduced in the
following commit to Clojure, which replaced `LazyTransformer` with
`TransformerIterator`, effectively making the transducer behavior akin to the
one in Clojure.
Attached patch with fix and test.
I'm looking into fixing this one.