The documentation on creating transducers indicates three arities: 0 / Init, 2 / Step, and 1 / Close. It looks like the close() method of the manifold.stream.default.Stream class is calling it's add! function with the init arity (0) instead of the close arity (1).
Closing a transduced stream doesn't trigger a completion in transducers with accumulated state.
partition-all
provides a good example:Expected:
([0 1 2 3 4] [5 6 7 8 9] [10 11])
Actual:([0 1 2 3 4] [5 6 7 8 9])
The documentation on creating transducers indicates three arities: 0 / Init, 2 / Step, and 1 / Close. It looks like the
close()
method of themanifold.stream.default.Stream
class is calling it'sadd!
function with the init arity (0) instead of the close arity (1).