(CLJS) excluded bounded-count in use in cljs.core.async

Description

With ASYNC-171, bounded-count was excluded. But, it is actually being used in cljs.core.async/to-chan here:

https://github.com/clojure/core.async/blob/43139e44b04dd09bb5faa555ea8ebd2ca09e25ce/src/main/clojure/cljs/core/async.cljs#L395

It has evidently been in use (inadvertently incorrectly) since 2013 (well prior to it having been added as a core function), with it picking up a previous private definition that had existed in cljs.core all along (but with the arguments reversed, evidently fortuitously without breaking things completely).

Here is a REPL transcript illustrating the regression that ASYNC-171 causes:

You can also presumably see this if you run the ClojureScript core.async unit tests. In particular the cljs.core.async.pipeline-test namespace makes use of to-chan. (I say presumably—I haven't figured out how to run them in JVM ClojureScript, but ran the same in self-hosted ClojureScript and discovered this regression running these unit tests with the fork of core.async for self-hosted ClojureScript here: https://github.com/mfikes/andare

Environment

None

Assignee

Unassigned

Reporter

Mike Fikes

Labels

None

Approval

None

Patch

None

Priority

Major
Configure