Clojure 异步放置! return 值

Clojure async put! return value

Clojure async put! docs 说(强调)

Asynchronously puts a val into port, calling fn0 (if supplied) when complete. nil values are not allowed. Will throw if closed. If on-caller? (default true) is true, and the put is immediately accepted, will call fn0 on calling thread. Returns nil.

然而示例代码returns true

user=> (put! c "XYZ")
true

文档不正确还是我遗漏了什么?

这已在 this commit 中修复,新的文档字符串为:

"Asynchronously puts a val into port, calling fn1 (if supplied) when
complete, passing false iff port is already closed. nil values are
not allowed. If on-caller? (default true) is true, and the put is
immediately accepted, will call fn1 on calling thread.  Returns
true unless port is already closed."