Revert removal of -package-name
from swiftinterfaces
#77408
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.
In an attempt to work around some bugs,
-package-name
was removed from public and private.swiftinterface
files (#76244). This has the side effect of breaking access level checking for@usableFromInline package
declarations in.swiftinterfaces
, so another workaround was implemented to give them special behavior (#75745). The combination of these changes has caused source compatibility regressions because@usableFromInline package
members of SDK modules are now accessible to name lookup where they were not previously, which can result in ambiguities.There was another fix for the root cause of the original problem that motivated removing
-package-name
from non-package interfaces, so we can safely revert both of #76244 and #75745. They should not be reattempted as it is not sound to disassociatepackage
declarations from their package context.Resolves rdar://139236053.