-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Allow calling splices in the same project #7138
Comments
This may potentially kill incremental compilation for a project if it executes code defined in the same project (see #7042). Just a reminder, not a reason to stop from doing it --- programmers just need to do a clean build when they run/package, the same as they do for macros today (there two projects are involved instead of one project). |
The problematic part for incremental compilation with macros is that any call to a macro needs to be recompiled if the code of the macro (or whitebox inline) or any method it calls has changed. This is clearly more complex that keeping track of signatures for for normal calls. This is the same as in Scala 2 macros. To support macros expanding in the same project we will need to first check that all the code that a macro needs to execute does not use the macro itself. This would require some some kind of abstract interpreter or call graph analysis. The information that we would get from that analysis could fix (or improve) the incremental compilation issues as well. |
This is implemented now, right? Can we close the issue? |
Fix #7138: Suspend callers of macros compiled in the same run
Staging is hampered by the requirement that code called in a splice has to be in an upstream project. We should try to avoid that restriction.
The text was updated successfully, but these errors were encountered: