# \[Pitch #2\] Concurrency Interoperability with Objective-C

**URL:** <https://forums.swift.org/t/pitch-2-concurrency-interoperability-with-objective-c/42627>\
**Category:** Pitches\
**Created:** [December 9, 2020, 12:05am UTC](https://forums.swift.org/t/pitch-2-concurrency-interoperability-with-objective-c/42627 "2020-12-09T00:05:46Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Douglas\_Gregor](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/douglas_gregor/32/1362_2.png) [@Douglas\_Gregor](https://forums.swift.org/u/Douglas_Gregor)\
**Post date:** [December 9, 2020, 12:05am UTC](https://forums.swift.org/t/pitch-2-concurrency-interoperability-with-objective-c/42627/1 "2020-12-09T00:05:46Z")

</div>

Hi all,

Here's an updated pitch for [Concurrency Interoperability with Objective-C](https://github.com/DougGregor/swift-evolution/blob/concurrency-objc/proposals/NNNN-concurrency-objc.md). The first [pitch thread](https://forums.swift.org/t/concurrency-interoperability-with-objective-c/41616) provided a bit of feedback, which I've incorporated into this second pitch. The specific changes:

- Removed mention of asynchronous handlers, which will be in a separate proposal.
- Introduced the `swift_async_error` Clang attribute to separate out "throwing" behavior from the `swift_async` attribute.
- Added support for "Swift private" to the `swift_async` attribute.
- Tuned the naming heuristics based on feedback to add (e.g) `reply` , `replyTo` , `completionBlock` , and variants.
- For the rare case where we match a parameter suffix, append the text prior to the suffix to the base name.
- Replaced the `-generateCGImagesAsynchronouslyForTimes:completionHandler:` example with one from PassKit.
- Added a "Future Directions" section about `NSProgress` .

Doug

---

<div class="post-metadata">

**Author:** ![wowbagger](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/wowbagger/32/13847_2.png) [@wowbagger](https://forums.swift.org/u/wowbagger)\
**Post date:** [December 9, 2020, 12:50am UTC](https://forums.swift.org/t/pitch-2-concurrency-interoperability-with-objective-c/42627/2 "2020-12-09T00:50:46Z")

</div>

> [@Better organisation of reviews](https://forums.swift.org/t/better-organisation-of-reviews/42440/16):
>
> Schedule "Objective-C Interoperability with Concurrency" for December 10...22

Does the review still start on December 10? It's only 1.5 days away from this pitch.

---

<div class="post-metadata">

**Author:** ![Douglas\_Gregor](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/douglas_gregor/32/1362_2.png) [@Douglas\_Gregor](https://forums.swift.org/u/Douglas_Gregor)\
**Post date:** [December 9, 2020, 1:05am UTC](https://forums.swift.org/t/pitch-2-concurrency-interoperability-with-objective-c/42627/3 "2020-12-09T01:05:17Z")

</div>

> [@wowbagger](#):
>
> Does the review still start on December 10? It's only 1.5 days away from this pitch.

That's the intent. The difference in the originally pitched document is very small.

Doug
