[swift/main] Migrate to internal imports #756
Merged
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.
Cherry pick of #755.
As of the Swift 6 compiler,
@_implementationOnly importis deprecated in favor ofinternal importand as a result the use of@_implementationOnly importin this project is generating a lot of diagnostic noise when building the Swift standard library.For Swift libraries with library evolution,
@_implementationOnly importandinternal importare roughly functionally equivalent, aside from improved diagnostics forinternal import. For non-resilient libraries, the main difference is thatinternal importdoes not actually hide a module dependency from downstream clients because the layout of a type in a non-resilient library may depend on types coming from aninternal import(with@_implementationOnly importthe same situation would result in a silent mis-compile, which is the reason that@_implementationOnly importis deprecated). The_RegexParsermodule dependency does not need to be hidden from clients since it is installed in standard locations in the SDK/toolchain. Therefore this migration should be safe, regardless of library resilience mode.