[6.1][cxx-interop] Fix nested structs for non-opaque types #80587
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.
Explanation: Fixes an issue where the generated reverse interop header would not compile for nested types when library evolution is off. While this is a bug in a new feature in 6.1, users upgrading from 6.0 to 6.1 can see this as a regression because the new constructs that we started to expose to the interop header in 6.1 will trigger the compilation error. Scope: C++ reverse interop for nested classes for non-opaque types.
Issue: rdar://147882976
Risk: Low, the fix is fairly targeted. While it does affect other (non-nested type) scenarios, those changes are straightforward making some names fully qualified. Moreover, that is well tested in our test suite.
Testing: Added tests to test suite
Original PR: #80495
Reviewer: @egorzhdan