Skip to content

Mark lazy properties as having mutating getters immediately. #20796

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

Merged

Conversation

rjmccall
Copy link
Contributor

@rjmccall rjmccall commented Nov 27, 2018

We were trying to do this when synthesizing the getter prototype, but we don't do that immediately when we're just type-checking a reference to the storage, which could lead to the reference thinking that the getter was non-mutating.

Fixes rdar://45712204.

This is the 5.0 branch version of #20779.

This is not ABI-affecting; it's just a bug-fix when type-checking multiple files. Probably not important for convergence because it's a crash-on-invalid.

We were trying to do this when synthesizing the getter prototype, but
we don't do that immediately when we're just type-checking a reference
to the storage, which could lead to the reference thinking that the
getter was non-mutating.

Fixes rdar://45712204.
@rjmccall rjmccall requested a review from a team as a code owner November 27, 2018 06:44
@rjmccall
Copy link
Contributor Author

@swift-ci Please test.

@rjmccall rjmccall requested a review from slavapestov November 27, 2018 06:44
Copy link
Contributor

@AnnaZaks AnnaZaks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approve as it's a bug fix.

@AnnaZaks
Copy link
Contributor

AnnaZaks commented Dec 7, 2018

@swift-ci Please test.

1 similar comment
@AnnaZaks
Copy link
Contributor

@swift-ci Please test.

@AnnaZaks AnnaZaks merged commit 4affa87 into swiftlang:swift-5.0-branch Dec 13, 2018
@rjmccall rjmccall deleted the lazy-property-is-mutating-5.0 branch April 5, 2019 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants