-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Macros inferring in new cljs (CLJS-1507) #39
Labels
Comments
babot
pushed a commit
that referenced
this issue
Feb 23, 2017
…e AsyncTask where possible. (patchset #6 id:100001 of https://codereview.chromium.org/2700293002/ ) Reason for revert: This broke build according to #39 Original issue's description: > DevTools: do not use RAII for sync native breakpoints, reuse AsyncTask where possible. > > BUG=693803 > > Review-Url: https://codereview.chromium.org/2700293002 > Cr-Commit-Position: refs/heads/master@{#452355} > Committed: https://chromium.googlesource.com/chromium/src/+/c0ff4c0d40a8b9ab8ed809a446aa298450c23462 [email protected],[email protected],[email protected],[email protected] # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=693803 Review-Url: https://codereview.chromium.org/2713613003 Cr-Commit-Position: refs/heads/master@{#452367}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently we use cljs.analyzer/analyze to parse ns forms. We trust it to tell us which symbols/namespace references are macros. But new macros inference 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.
The text was updated successfully, but these errors were encountered: