Macros inferring in new cljs (CLJS-1507)
- Dominant language
- Clojure
- Stars
- 776
- Forks
- 29
- PR merge metrics
- No merged PRs in 30d
Description
Currently we use [cljs.analyzer/analyze](https://github.com/binaryage/dirac/blob/f7e140336dd76c125aa91611e4e313ced123a1d1/src/implant/dirac/implant/analyzer.cljs#L9) to parse ns forms. We trust it to tell us which symbols/namespace references are macros. But new macros inference [CLJS-1507](http://dev.clojure.org/jira/browse/CLJS-1507) can make this unreliable when someone relies on inferring.
I think a way how to work around this is to treat everything as a function and check for runtime presence. If it is not present at runtime, we treat it as a macro (but this can have performance implications because runtime presence checks must go over wire).
Other idea is just to leave it as is and our code completion hints will report wrong types.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.