Skip to content
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

[SR-12513] Crazy Cross Module Conformance #54955

Open
dabrahams opened this issue Apr 5, 2020 · 5 comments
Open

[SR-12513] Crazy Cross Module Conformance #54955

dabrahams opened this issue Apr 5, 2020 · 5 comments

Comments

@dabrahams
Copy link
Collaborator

@dabrahams dabrahams commented Apr 5, 2020

Previous ID SR-12513
Radar rdar://problem/62201632
Original Reporter @dabrahams
Type Bug

Attachment: Download

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug
Assignee None
Priority Medium

md5: bff8be030eae13e3fbbaaf365faacf69

Issue Description:

The attached project (also https://github.com/dabrahams/CrossModuleConformance) demonstrates that Swift's semantics around conformances and multiple modules are nondeterministic, if not insane. I've never found any documentation of how this is supposed to work, and the explanations I've heard from people have always been vague at best. Somebody needs to write down what is supposed to be happening, and then make the compiler do that!

@dabrahams
Copy link
Collaborator Author

@dabrahams dabrahams commented Apr 5, 2020

Actually I updated the project because there are so many ways Swift is insane about this stuff that I can't even count. See the README.

@beccadax
Copy link
Contributor

@beccadax beccadax commented Apr 17, 2020

@swift-ci create

@woolsweater
Copy link

@woolsweater woolsweater commented Jun 3, 2020

FWIW, I was looking at this on a machine where Swift 5.1.3 (from Xcode 11.3.1) was installed and all the tests pass.

@dabrahams
Copy link
Collaborator Author

@dabrahams dabrahams commented Jun 6, 2020

Just tested with Swift 5.2.4 and all the insanity appears to be gone except for the availability of idA without importing A in Test3, which is not about conformances, but which persists.

@dabrahams
Copy link
Collaborator Author

@dabrahams dabrahams commented Jun 6, 2020

The other remaining bit of insanity is that the behavior of conformances across modules is still not documented!

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants