Skip to content

[move-only] Change type lowering to ensure we use {retain,release}_value instead of strong_{retain,release} #61711

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

gottesmm
Copy link
Contributor

This is the last thing stopping the prototype from buffer view from working. I also fixed a small issue around SILGen for move only enums constructed from trivial literals in let initialization. Added tests for all of the relevant parts.

Just an oversight I discovered when writing the enum deinit tests.
@gottesmm
Copy link
Contributor Author

@swift-ci test

@gottesmm
Copy link
Contributor Author

Problem is test needs to run without asserts due to the irgen check.

@gottesmm
Copy link
Contributor Author

*run with asserts.

…e}_value instead of strong_{retain,release} for move only enum/structs

This ensures that when we hit IRGen, if we have a type with trivial contents, we
emit nothing and if we have a type with non-trivial contents, we just emit
recursive retain/release as appropriate.

This is the last bug holding up the buffer view prototype from Guilliume.
@gottesmm gottesmm force-pushed the pr-8e7407db044609579456f02173cda0dbd572217d branch from cd98a4f to 285f03e Compare October 25, 2022 04:17
@gottesmm
Copy link
Contributor Author

@swift-ci test

@gottesmm
Copy link
Contributor Author

@swift-ci build toolchain

@gottesmm
Copy link
Contributor Author

@swift-ci test

@gottesmm
Copy link
Contributor Author

@swift-ci build toolchain

@gottesmm
Copy link
Contributor Author

@gottesmm gottesmm merged commit 971d581 into swiftlang:main Oct 25, 2022
@gottesmm gottesmm deleted the pr-8e7407db044609579456f02173cda0dbd572217d branch October 25, 2022 16:25
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.

1 participant