Hello everyone,
While working on an upcoming proposal (task cancellation scopes) myself and @FranzBusch have realized another interaction of deadlines and cancellation shields we'd like to clarify and codify. Since deadlines have not yet shipped, and will be part of 6.5, we propose to amend the existing proposal rather than add another one -- this way the source of truth remains in one proposal.
In one sentence, we're proposing that to achieve consistent cancellation behavior with cancellation scopes (such as deadlines) and shields, shields must prevent "not active anymore" deadlines from being looked up:
Please review in detail over here: swift-evolution/proposals/0526-deadline.md at amend-se-0526-shield-interactions · ktoso/swift-evolution · GitHub
And if there's any typos or small mistakes, you may comment on the PR directly: [Amend SE-0526] Deadlines interact with Cancellation Shields by ktoso · Pull Request #3532 · swiftlang/swift-evolution · GitHub