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>
4also fixed: https://clojure.atlassian.net/browse/CLJS-3473
sure!
@dnolen issue?
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
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"}}}
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.
Found the bug! A macro expanded into (clojure.core/await ...) which should also work
I updated patch 3470-4 with a fix in get-expander
now core.async fully works with it too, which is a good exercise for this optimization