-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Fix SILVerifier assert for witness_method with dynamic self type #34738
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
@swift-ci test |
Should we instead try to fix this to work? What goes wrong if such a witness_method instruction is generated? |
We hit the SIL verifier not liking such a witness method instruction. It only wants opened archetype type operands.
|
Build failed |
de957f8
to
0acc15f
Compare
I changed what this PR was initially intended for. Turns out we do support witness_method with dynamic_self. The SILVerifier assertions for witness_method needed to be changed |
@swift-ci smoke test |
Build failed |
@swift-ci smoke test OS X platform |
@swift-ci smoke test Windows Platform |
Thanks, changing the verifier here makes sense. We do support witness_method on concrete types just fine (either in IRGen, or the devirtualizer if that gets to run) |
@swift-ci smoke test |
* 'main' of github.com:apple/swift: (89 commits) Fix SILVerifier assert for witness_method with dynamic self type (swiftlang#34738) Allow a borrowed address to be passed as in_guaranteed arg in partial_apply [on_stack] only (swiftlang#34736) Fix test for windows/linux IRGen: Fix debug emission for dynamically sized stack vars [Testing] Add missing REQUIRES: concurrency [ownership] Make SILUndef always have ValueOwnershipKind::None. [value-lifetime] Cleanup constructors. [ownership] Centralize the concept of isReborrow on BorrowingOperand. [sil][value-lifetime] Add ValueLifetimeAnalysis::FrontierImpl = SmallVectorImpl<SILInstruction *> [Test] Disable partial_apply_forwarder.sil for arm64e. [Async CC] Unroll workaround where @main was async. Remove test that depends on Swift.Int metadata, which isn't around. [Concurrency] More cleanups for futures [Concurrency] Remove an unnecessary 'const' from a non-static data member. [Concurrency] Minor cleanups to futures. [Concurrency] Have future functions write their results directly. [Concurrency] Clarify/fix error object handling in futures. [Concurrency] Inline AsyncTask::FutureFragment::fragmentSize. [Concurrency] Turn "simple task" into just "task". [Concurrency] Use SchedulerPrivate for the "next waiting task" link. ...
Fixes rdar://71290925