Skip to content

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