-
-
Notifications
You must be signed in to change notification settings - Fork 50
feat(closures): captures are no longer fully qualified #568
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
Conversation
This means that we can safely capture top-level variables in packages, without having to write closure.pkg:var later on. Internally, variables are still fully qualified, but a rename instruction has been added for captures, and unqualified names are tracked in the AST for this to work.
Static analysis reportLizard reportListing only functions with cyclomatic complexity >= 15 or NLOC >= 100 or parameters >= 6.
Report about files you didn't modify in this PR
CppCheck report
Report files about files you didn't modify in this PR
|
CodSpeed Performance ReportMerging #568 will degrade performances by 2.22%Comparing Summary
Benchmarks breakdown
|
Fuzzing report/usr/local/bin/afl-whatsup status check tool for afl-fuzz by Michal Zalewski Summary statsCycles without finds : 0 [+] Captured 47124 tuples (map size 220195, highest value 255, total values 388319515) in '/dev/null'. |
e3b7344 to
fe09671
Compare
…ons, because it put its mapping at the end of the global scope This resulted either in data from scope 1+ being overwritten, or invalid indices for LOAD_SYMBOL_BY_INDEX, as we added one or more locals between the local we wanted to load and the last module's local.
fe09671 to
1034dc7
Compare
…separate file to avoid code duplication and circular includes
389a67a to
c83e259
Compare
c83e259 to
d1e05ae
Compare
Description
This means that we can safely capture top-level variables in packages, without having to write
closure.pkg:varlater on. Internally, variables are still fully qualified, but a rename instruction has been added for captures, and unqualified names are tracked in the AST for this to work.Checklist