Skip to content

[stdlib] Collection types are eagerMove. #64553

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
merged 4 commits into from
Mar 30, 2023

Conversation

nate-chandler
Copy link
Contributor

@nate-chandler nate-chandler commented Mar 22, 2023

Value types are not expected to have custom deinits, are not expected to expose unsafe interior pointers, and cannot have weak references. So, deinitialization barriers are irrelevant.

rdar://107076869

@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler
Copy link
Contributor Author

@swift-ci please benchmark

@nate-chandler nate-chandler force-pushed the eagermove_collections branch from d195ef0 to 38d20c7 Compare March 23, 2023 15:49
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

Copy link
Contributor

@atrick atrick left a comment

Choose a reason for hiding this comment

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

I'm excited to see this go in now.

@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler nate-chandler force-pushed the eagermove_collections branch from cd58ebb to 786efd6 Compare March 29, 2023 22:35
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler nate-chandler force-pushed the eagermove_collections branch 2 times, most recently from 2b00732 to 01cb9cd Compare March 30, 2023 15:02
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

Types that have "value semantics" should not have lexical lifetimes.
Value types are not expected to have custom deinits. Are not expected to
expose unsafe interior pointers. And cannot have weak references because
they are structs. Therefore, deinitialization barriers are irrelevant.

rdar://107076869
Use the new mechanism for looking into tuples that properly handles
packs.
@nate-chandler nate-chandler force-pushed the eagermove_collections branch from 01cb9cd to ff3ec19 Compare March 30, 2023 18:05
@nate-chandler
Copy link
Contributor Author

@swift-ci please test

@nate-chandler
Copy link
Contributor Author

@swift-ci please test source compatibility

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.

2 participants