cljs-dev

borkdude 2026-01-24T11:00:16.934779Z

I think I found a false positive warning here:

cljs.user=> (+ 1 2 (try (throw (throw 2)) (catch :default _ 1)))
WARNING: cljs.core/+, all arguments must be numbers, got [number ignore] instead at line 1 <cljs repl>
4

borkdude 2026-02-03T15:06:15.611229Z

also fixed: https://clojure.atlassian.net/browse/CLJS-3473

dnolen 2026-01-26T22:25:52.681519Z

sure!

borkdude 2026-01-24T11:00:23.614989Z

@dnolen issue?

borkdude 2026-01-24T14:07:20.553689Z

Async/await update. Uploaded patch 3470-4.patch. Contains optimization for keeping implicit IIFE sync when no await happens inside of it (and can then be optimized by Closure). I also forgot to add the test file to the test runner, which is now also done. https://clojure.atlassian.net/browse/CLJS-3470 https://github.com/borkdude/clojurescript/tree/js-await2 cc @dnolen @thheller

borkdude 2026-01-24T14:17:31.764819Z

I think there's a bug somewhere. I can't get core.async to run anymore (based on the simple <! etc macros.

{:deps {org.clojure/clojurescript {:git/url ""
                                   ;; js-await branch (without IIFE optimizations)
                                   #_#_:git/sha "7640003cbf02e00e4c538c593ac5f24adcccb694"
                                   ;; js-await2 branch (with IIFE optimizations)
                                   :git/sha "a369320225a4e1f3b6d773094748b7c8dff90227"}

        org.clojure/core.async {:git/url ""
                                :git/sha "5f31738e15937986d7453736995e2f75b15fb265"}}}

borkdude 2026-01-24T14:18:01.315879Z

I'll look into this later. This is a good test. I did confirm it still worked in the branch js-await before I did the optimizations.

borkdude 2026-01-24T16:29:11.594119Z

Found the bug! A macro expanded into (clojure.core/await ...) which should also work

borkdude 2026-01-24T16:54:55.158449Z

I updated patch 3470-4 with a fix in get-expander

borkdude 2026-01-24T16:55:13.372519Z

now core.async fully works with it too, which is a good exercise for this optimization