bazelbuild / rules_swift

Bazel rules to build Swift on Apple and Linux platforms
Apache License 2.0
307 stars 133 forks source link

Add features to enable strict concurrency checking #1284

Closed mjburghard closed 3 weeks ago

mjburghard commented 3 weeks ago

Add features for the three accepted combinations of -strict-concurrency=<value>.

google-cla[bot] commented 3 weeks ago

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

brentleyjones commented 3 weeks ago

I think there might be something related to this in upstream. And if so, we should cherry-pick it.

mjburghard commented 3 weeks ago

~I had a look and do neither see a feature nor any usage of -strict-concurrency on upstream.~ Ah, I think I found it.

mjburghard commented 3 weeks ago

The two commits containing strict concurrency related code are https://github.com/bazelbuild/rules_swift/commit/86f356cc3ab35d02edd3efe972a76e1d0a6a7261 and https://github.com/bazelbuild/rules_swift/commit/f1765e6e65ab742e332704717ec7e0129a9b60af.

As far as I can see, there is infrastructure in place on upstream to handle upcoming an experimental features. I have to take a deeper look to fully understand this. I probably post my understandings on the corresponding issue. @brentleyjones should we close this PR for the time being?

brentleyjones commented 3 weeks ago

Yeah, let's close it for now. We will get those changes as we cherry-pick more from upstream. I'll be sure we finish that before Xcode 16 releases, and hopefully a lot sooner.