This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-08-12
Channels
- # beginners (102)
- # boot (5)
- # cider (1)
- # cljs-dev (15)
- # cljsjs (1)
- # cljsrn (20)
- # clojure (104)
- # clojure-austin (1)
- # clojure-europe (8)
- # clojure-italy (39)
- # clojure-nl (17)
- # clojure-spec (38)
- # clojure-uk (23)
- # clojurescript (34)
- # cursive (31)
- # data-science (5)
- # datomic (3)
- # emacs (28)
- # joker (1)
- # kaocha (5)
- # klipse (1)
- # leiningen (1)
- # off-topic (66)
- # quil (4)
- # reagent (35)
- # ring-swagger (1)
- # rum (1)
- # shadow-cljs (121)
- # test-check (1)
- # tools-deps (33)
- # uncomplicate (2)
- # vim (15)
- # yada (1)
@dnolen I found the commit that eliminates the .call
that appears to matter to Hoplon. https://clojure.atlassian.net/browse/CLJS-3157 has a minimal example insofar as illustrating that the .call
goes away, but unfortunately the repro does not yet include an example of this causing a runtime problem. (I'm wondering if there is a simpler minimal repro that doesn't involve the SVGElement, etc.)
I think this is why .call
works for SVGElement
s in Hoplon, and why things break if it is removed https://github.com/hoplon/hoplon/blob/1e73edf7c6e56a4c17a0830cb7f3433cdb039c26/src/hoplon/core.cljs#L460
Gah. I suppose all bets are off and static reasoning may not apply in this case. 😞
Given, this, a minimal repro could be that this code used to work:
cljs.user=> (extend-type js/Element IFn (-invoke ([_] :you-rang?)))
#object[Function]
cljs.user=> ((.-body js/document))
:you-rang?
@thheller ^ probably means we need to back out that enhancement for now until we have better ideas
hmm yeah I ran into similar issues when I experimented with https://clojure.atlassian.net/browse/CLJS-3002
maybe worth adding a "new" ^fn
annotation or so though since this should still be possible IMHO