This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-07-14
Channels
- # announcements (10)
- # babashka (14)
- # beginners (51)
- # calva (2)
- # cider (28)
- # cljs-dev (1)
- # cljsrn (3)
- # clojure (185)
- # clojure-dev (15)
- # clojure-europe (6)
- # clojure-italy (2)
- # clojure-nl (6)
- # clojure-uk (45)
- # clojurescript (4)
- # conjure (12)
- # datomic (37)
- # duct (37)
- # figwheel-main (15)
- # helix (23)
- # interceptors (1)
- # jobs (1)
- # jobs-discuss (11)
- # jvm (5)
- # luminus (3)
- # malli (15)
- # off-topic (69)
- # pathom (8)
- # pedestal (2)
- # re-frame (7)
- # reagent (58)
- # reitit (33)
- # remote-jobs (1)
- # rum (14)
- # sci (7)
- # shadow-cljs (15)
- # spacemacs (9)
- # testing (19)
- # timbre (3)
- # tools-deps (14)
@dnolen Seems like a bug in externs inference, is this a known issue? I can file JIRA ticket given this cljs code
(ns app.core)
(def obj (.-obj js/window))
(-> (.method obj)
js/console.log)
(-> ^js/Promise (.promise obj)
(.then js/console.log))
inferred externs are
var setTimeout;
var process;
process.hrtime;
Java.type;
Object.out;
Object.out.println;
Object.error;
Object.error.println;
Object.then;
Window.prototype.obj;
Window.prototype.obj.method;
notice that Window.prototype.obj.promise;
is missing here
compiled output is broken as expected, because of missing extern
var y=window.obj;console.log(y.method());y.h().then(console.log);
Looks like a type hint messed up with externs inference