-
Notifications
You must be signed in to change notification settings - Fork 10.5k
TDBGen: add a workaround for a workaround for async PWT #64920
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
Conversation
3793566
to
ca7850b
Compare
@swift-ci please test |
ca7850b
to
f50ed93
Compare
@swift-ci please test |
@swift-ci please test Windows platform |
f50ed93
to
2b90205
Compare
@swift-ci please test |
Will we need this on |
@DougGregor yea, we will >.< |
@swift-ci please test macOS platform |
@swift-ci test macos |
2b90205
to
ce001f7
Compare
@swift-ci please test |
1 similar comment
@swift-ci please test |
@swift-ci test macos |
:sigh:
However, the test is marked with: |
REQUIRES: CONCURRENCY describes where we’re building, which supports concurrency, not what the test is targeting. The test is targeting 10.13, so it fails. I think you can add -disable-availability-checking to the test and get it working. |
When a protocol witness thunk is formed to a serialised protocol containing an `async` function, the async function pointer to the conformance needs to be made public due to a SIL Verifier check failure (reference to a non-fragile function from within a public fragile function). Add a stop-gap solution of rolling an extra emission for a private symbol as a public symbol to avoid the error (the underlying issue has been open for ~6y and counting as of this commit). This was identified by swift-package-manager (swiftlang#64900). Thanks to @DougGregor and @aschwaighofer for the discussion on this!
ce001f7
to
0301e03
Compare
@swift-ci please test |
This is not a request for a change to this PR but I just want to note that in most tests I'd prefer it if folks just added the right availability to declarations that depend on concurrency so that we're testing that availability checking behaves correctly. The declarations just need |
@swift-ci please test macOS platform |
|
CC: @shahmishal |
@swift-ci please test macOS platform |
When a protocol witness thunk is formed to a serialised protocol containing an
async
function, the async function pointer to the conformance needs to be made public due to a SIL Verifier check failure (reference to a non-fragile function from within a public fragile function). Add a stop-gap solution of rolling an extra emission for a private symbol as a public symbol to avoid the error (the underlying issue has been open for ~6y and counting as of this commit).This was identified by swift-package-manager (#64900).