-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Resilient witness table emission cleanup #22775
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
Resilient witness table emission cleanup #22775
Conversation
The condition for "needs a generic witness table" was wrong; any conformance with associated conformances would get one, even though its only necessary if the associated conformances are dependent. Fixing this also allows simplifying some code.
@swift-ci Please test |
@swift-ci Please test source compatibility |
@@ -136,7 +157,7 @@ extension Int : OtherResilientProtocol { } | |||
// -- witness table pattern | |||
// CHECK-SAME: @"$s28protocol_conformance_records9DependentVyxGAA9AssociateAAWp" | |||
// -- flags | |||
// CHECK-SAME: i32 0 | |||
// CHECK-SAME: i32 131072, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that this is not a change in test output -- the test was matching the wrong "i32 0"
This sets the 'requires instantiation' bit in a couple more cases, which doesn't really matter because the runtime already checks a few other conditions, such as the presence of resilient witnesses.
65dac58
to
6ebd992
Compare
Build failed |
@swift-ci Please test source compatibility |
Build failed |
@swift-ci Please test |
Build failed |
@swift-ci Please test Linux |
Build failed |
apple/swift-lldb#1314 |
Build failed |
@swift-ci Please test Linux |
Build failed |
@swift-ci Please test Linux |
Build failed |
@swift-ci Please test Linux |
Build failed |
@swift-ci Please test Linux |
Build failed |
This PR is cursed. Now I'm seeing
|
@swift-ci Please smoke test Linux |
cc/ @millenomi have you seen this issue? |
@millenomi Sorry, this is dispatch issue. |
/cc @ktopley-apple have you seen this issue before? |
No. Which build was this? I looked at #11255 and I did not see any dispatch errors. |
Now we're failing with:
@shahmishal Can we disable Foundation tests in PR testing for now? |
Yes, we should disable this test. cc: @millenomi |
swiftlang/swift-corelibs-foundation#1939 |
I found some of the code in GenProto.cpp hard to follow while working on #22737. Now that the immediate bug fix is done here is a larger cleanup. Should be mostly NFC.