[interop][SwiftToCxx] do not expose unsupported enums yet #65351
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This includes indirect enums, enums with multiple associated values, or enums whose associated value is a type we don't yet support
(cherry picked from commit 71ef7e8)
Explanation: C++ header generation only supports a subset of Swift enum types. We do not support enums with associated values whose type is not supported, so we should not emit them in the generated header. This fixes a crash we observe when building one package with interop.
Scope: Swift's and C++ interoperability, Generated header printer.
Risk: Low. This only affects users who turn on availability, and it prevents emission of C++ APIs for enums which didn't work in C++ anyway.
Testing: Swift unit tests.
Reviewer: @zoecarver