For the proxy stuff, is there a reason this isn't working?
(aget ((cljs.proxy/builder) [{}]) 0)
I get:
;!Execution error (TypeError) at (<cljs repl>:1).
;!proxy must report the same value for the non-writable, non-configurable property '"cljs$lang$protocol_mask$partition0$"'
It seems to not appreciate the nested map but the docs claim to handle recursion.
The docstring example works OK:
(def foo (proxy [{:foo 1 :bar 2}]))
(-> foo (aget 0) (o/get "foo"))
The proxy doesn't seem to be compatible with for (... of ...) syntax either, which is how I discovered the above:
(set! (.-y js/window) (proxy ["foo"]))
with:
for (const x of y) {console.log(x)}
gives:
Uncaught TypeError: can't convert symbol to number
get proxy.cljs:50
<anonymous> debugger eval code:1it would be good to capture browser, I've tested mostly against Node REPL and w/ Safari, but I did basic validation in Chrome and Firefox.
I did this all in Firefox.
Ok trying this specific thing in Firefox
worked fine in Firefox
Ok. I'll try and figure out what's messed this up. I assumed this was simple enough to not be influenced by outside factors. How often I'm wrong! I hope the for...of thing is good though as it's mostly browser based rather than repl. But maybe my proxy namespace is all building wrong.
replicated the for ... in issue here
ok, fixed some things, but this is a recursive case that has to be properly handled
might not get to it today, but this should be fixed up before the next release, thanks for the report!
ok the obvious bugs fixed https://github.com/clojure/clojurescript/commit/9a55107a23f6d8fe1a9c8f5ece623f6fa1c6aeab
(aget ((cljs.proxy/builder) [{}]) 0) works fine for me at the REPL, can you create something minimal w/ master?
Hmm, I'll have a go. Strange.