Opaque string representation of channels in Clojurescript core.async

Description

In clojurescript, (str (chan)) returns the string "[object Object]". This is different from JVM Clojure behavior per se, and more practically, it can result in hard-to-debug stack traces, such as the attached one.

The attached backtrace doesn't reach my application code, and does not show any cljs.core.async code either. Therefore it's hard to figure out that I was mishandling a channel. A nicer string representation of channels would have saved me 20 minutes of head-scratching!

Environment

Clojurescript 1.9.542
core.async 0.3.442

Assignee

Unassigned

Reporter

import

Labels

None

Approval

None

Patch

None

Priority

Minor
Configure