cljs-dev

p-himik 2025-04-30T08:53:28.567579Z

In 1.12.35, this code throws (originally reported https://clojurians.slack.com/archives/C03S1L9DN/p1746002466950509):

(let [things (zipmap (range 15000) (repeat 0))]
  (count (filter #(-> % key string?) things)))
Stacktrace from a REPL on Node:
RangeError: Maximum call stack size exceeded
    at Function.cljs$core$IFn$_invoke$arity$3 (/tmp/out6619582927933693729413116480643383/cljs/core.js:26734:9)
    at Object.cljs$core$INext$_next$arity$1 (/tmp/out6619582927933693729413116480643383/cljs/core.js:26596:35)
    at Object.cljs$core$next [as next] (/tmp/out6619582927933693729413116480643383/cljs/core.js:4997:13)
    at Object.cljs$core$INext$_next$arity$1 (/tmp/out6619582927933693729413116480643383/cljs/core.js:26865:102)
    at Object.cljs$core$next [as next] (/tmp/out6619582927933693729413116480643383/cljs/core.js:4997:13)
    at Object.cljs$core$ISeq$_rest$arity$1 (/tmp/out6619582927933693729413116480643383/cljs/core.js:26915:105)
    at Object.cljs$core$rest [as rest] (/tmp/out6619582927933693729413116480643383/cljs/core.js:4975:13)
    at /tmp/out6619582927933693729413116480643383/cljs/core.js:19650:19
    at Object.sval (/tmp/out6619582927933693729413116480643383/cljs/core.js:12015:113)
    at Object.sval (/tmp/out6619582927933693729413116480643383/cljs/core.js:12018:25)

dnolen 2025-04-30T10:56:53.248029Z

likely this commit - https://github.com/clojure/clojurescript/commit/2c5f442ce5b83cb9c46b10d5afb51b088f3ee7f1

👀 1
2025-04-30T20:18:09.048459Z

does https://clojure.atlassian.net/browse/CLJS-3420 move back out of "closed"?

dnolen 2025-04-30T20:29:22.500049Z

yes, thanks updated

🎉 1
dnolen 2025-04-30T10:57:11.244129Z

will look today

👍 2
dnolen 2025-04-30T19:49:37.267619Z

yeah the attempted fix just doesn't work - reverting and adding a test to catch regressions using @p-himik supplied example

😢 1
dnolen 2025-04-30T20:03:28.100199Z

just pushed out 1.12.38 @thheller w/o the bad lazy seq bug

👍 3