[5.9] Revert "[cxx-interop] Treat un-instantiated templated types as unsafe" #65544
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 reverts commit c813254.
This caused #65446
Explanation: The change in #64918 caused clang importer to treat methods that return a type like
vector<int>
as unsafe, unless thisvector<int>
type is already instantiated as a class template elsewhere in the original Clang module, e.g. a type alias. This change should be reverted, as a method that returnsvector<int>
should be treated as returning a self contained type and NOT be marked as unsafe.Scope: Swift's and C++ interoperability, Clang importer.
Risk: Low, rolling back behavior to what we've been living on for a long time.
Testing: Swift unit tests, and manual testing on some Swift samples