Skip to content
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

Lowering: Insert QuoteNode for captured boxed value #52596

Merged
merged 3 commits into from
Dec 22, 2023
Merged

Conversation

vchuravy
Copy link
Member

Core.Box is not self-quoting so it should be captured in a QuoteNode.
This has been benign until the improved effect system, we handle QuoteNode
of a mutable value as a global access, whereas a direct reference to a value
is treated as inaccessible memory.

Fixes #52531

@vchuravy vchuravy added needs tests Unit tests are required for this change backport 1.10 Change should be backported to the 1.10 release labels Dec 20, 2023
test/compiler/effects.jl Outdated Show resolved Hide resolved
@aviatesk aviatesk force-pushed the vc/qn_setfield! branch 2 times, most recently from a65ee47 to e2cb27b Compare December 21, 2023 05:12
@aviatesk aviatesk removed the needs tests Unit tests are required for this change label Dec 22, 2023
Co-authored-by: Shuhei Kadowaki <[email protected]>
@aviatesk aviatesk merged commit 1290b51 into master Dec 22, 2023
7 checks passed
@aviatesk aviatesk deleted the vc/qn_setfield! branch December 22, 2023 10:09
KristofferC pushed a commit that referenced this pull request Dec 23, 2023
`Core.Box` is not self-quoting so it should be captured in a QuoteNode.
This has been benign until the improved effect system, we handle
`QuoteNode`
of a mutable value as a global access, whereas a direct reference to a
value
is treated as inaccessible memory.

Fixes #52531

---------

Co-authored-by: Gabriel Baraldi <[email protected]>
Co-authored-by: Shuhei Kadowaki <[email protected]>
(cherry picked from commit 1290b51)
@aviatesk aviatesk removed the backport 1.10 Change should be backported to the 1.10 release label Dec 24, 2023
aviatesk added a commit that referenced this pull request Jan 12, 2024
Issues like #52531 were more broadly fixed by #52856. This commit
partially reverts #52596, while leaving the added tests.
aviatesk added a commit that referenced this pull request Jan 13, 2024
Issues like #52531 were more broadly fixed by #52856. This commit
partially reverts #52596, while leaving the added tests.
aviatesk added a commit that referenced this pull request Jan 13, 2024
Issues like #52531 were more broadly fixed by #52856. This commit
partially reverts #52596, while leaving the added tests.
Drvi pushed a commit to RelationalAI/julia that referenced this pull request Jun 7, 2024
…ng#52878)

Issues like JuliaLang#52531 were more broadly fixed by JuliaLang#52856. This commit
partially reverts JuliaLang#52596, while leaving the added tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Mutable let block variable treated as immutable in Julia 1.10
3 participants