Skip to content

[concurrency] allow code to shadow definitions in implicit _Concurrency module #34642

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Nov 10, 2020

Conversation

kavon
Copy link
Member

@kavon kavon commented Nov 9, 2020

To reduce the impact of source compatibility breakages with the proposed concurrency extensions, this PR implements the same type of shadowing rule that applies to the Swift standard library: unqualified references to declarations imported from both the _Concurrency module and some other module A will always prefer module A's declaration.

Resolves rdar://71045297

TODO:

  • patch name resolution
  • regression test: test unqualified references
  • test qualified references

@kavon kavon force-pushed the shadowing-concurrency-lib branch from d517ccb to 5468b2e Compare November 9, 2020 21:57
@kavon
Copy link
Member Author

kavon commented Nov 9, 2020

@swift-ci please smoke test and merge

@kavon kavon marked this pull request as ready for review November 9, 2020 21:58
@swift-ci swift-ci merged commit e1df94a into swiftlang:main Nov 10, 2020
@kavon kavon deleted the shadowing-concurrency-lib branch November 10, 2020 00:15
rxwei added a commit to rxwei/swift that referenced this pull request May 2, 2022
… module.

Treat _StringProcessing decls as if it were declared in the Swift module, just like how _Concurrency is treated (swiftlang#34642).
rxwei added a commit to rxwei/swift that referenced this pull request May 4, 2022
… module.

Treat _StringProcessing decls as if it were declared in the Swift module, just like how _Concurrency is treated (swiftlang#34642).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants