Skip to content

[5.9][interop][SwiftToCxx] support copy-assignment operation for Swift val… #66397

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 1 commit into from
Jun 7, 2023

Conversation

hyp
Copy link
Contributor

@hyp hyp commented Jun 6, 2023

…ue types and prohibit move assignment explicitly
Fixes #66324

  • Explanation:
    Swift value types didn't support copy assignment in C++. This change adds support for it using the correct value witness operation.
    It also explicitly deletes the move assignment operator, as move semantics for Swift value types are not yet supported in C++.
  • Scope: Swift's and C++ interoperability, generated header generator
  • Risk: Low. C++ already didn't allow these operations in users code, now we either allow it or explicitly prohibit with a delete.
  • Testing: Swift unit tests.
  • PR: [interop][SwiftToCxx] support copy-assignment operation for Swift val… #66394

…ue types and prohibit move assignment explicitly

Fixes swiftlang#66324

Note: move semantics for Swift value types are not yet supported in C++
(cherry picked from commit e70f7cf61e95b514c9586700a498c552c64d33ed)
@hyp hyp added the swift 5.9 label Jun 6, 2023
@hyp hyp requested a review from a team as a code owner June 6, 2023 23:11
@hyp
Copy link
Contributor Author

hyp commented Jun 6, 2023

@swift-ci please test

@hyp
Copy link
Contributor Author

hyp commented Jun 6, 2023

@swift-ci please test source compatibility

@hyp hyp added the c++ interop Feature: Interoperability with C++ label Jun 6, 2023
@hyp hyp merged commit 5afa437 into swiftlang:release/5.9 Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ interop Feature: Interoperability with C++ swift 5.9
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants