SE-0523: Hashable conformance for UnownedTaskExecutor

Hello, Swift community.

The review of SE-0523: Hashable conformance for UnownedTaskExecutor begins now and runs through April 6th, 2026.

Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to me as the review manager by DM or [email:mailto:rjmccall@apple.com). When contacting me directly as the review manager, please put "[SE-0523]" at the start of the subject line.

What goes into a review?

The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:

  • What is your evaluation of the proposal?
  • Is the problem being addressed significant enough to warrant a change to Swift?
  • Does this proposal fit well with the feel and direction of Swift?
  • If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
  • How much effort did you put into your review? A glance, a quick reading, or an in-depth study?

More information about the Swift evolution process is available in the Swift evolution repository.

As always, thank you for contributing to Swift.

John McCall
Review Manager

2 Likes

+1

I've only done a quick reading of the proposal, but it seems like a useful and warranted change for the use cases described in the proposal.

One question I have is that the Detailed Design section includes the declaration:

@available(SwiftStdlib 6.0, *)
extension UnownedTaskExecutor: Hashable {}

But later the Implications on adoption says:

This feature requires a minimum deployment target matching the Swift standard library version in which it ships.

Is this intended to be available back to version 6.0 as in the code? Or will be it '6.x' as implied by the Implications on adoption section?

2 Likes

Oh, I don’t think we can back-deploy conformances easily so this probably snuck through from when we first thought about it… it would be 6.4 in this case.

I posted a mini pr to remove this to avoid confusion Proposal should not assume swift version in impl by ktoso · Pull Request #3214 · swiftlang/swift-evolution · GitHub thank you for noticing // fyi @fabianfett

2 Likes

+1 - The value for highly concurrent software designs is huge, and the impact extremely minimal. I wish it could be back ported, but I'd be happy to have it forward regardless.

1 Like

The conformance can't back-deploy, but we should be able to make the implementation back-deploy, if someone wants to use it in their own conformance.

1 Like

Sounds good, can do that!

2 Likes

SE-0523 has been accepted. If there's any further discussion to be had, please continue it in the new thread.

John McCall
Review Manager