Description
- I have read CONTRIBUTING and have done my best to follow them.
What did you do?
Enable .upcomingFeature("StrictConcurrency")
and/or SWIFT_STRICT_CONCURRENCY = Complete
.
What did you expect to happen?
Simple, non async, specs using QuickSpec
to build without warnings. Opting the example closures used by QuickSpec
into main actor isolation results in the access of local, non isolated, variables becoming subject to data races.
What actually happened instead?
Non isolated variables, defined outside of a example closures used in QuickSpec
are subject to data races.
Concurrency warning:
Task-isolated 'x' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
This warning will show for any closure annotated @MainActor
. This is likely fine and correct to opt-in in AsyncSpec
, but QuickSpec
is expected to not opt-in to Swift Concurrency based features.
Environment
List the software versions you're using:
- Quick: 7.6.1
- Xcode Version: 15.4 / 16.0 beta 6
- Swift Version: 5.10
Please also mention which package manager you used and its version. Delete the
other package managers in this list:
- Swift Package Manager 5.10 (Use
swift build --version
in Terminal)
Project that demonstrates the issue
Please link to a project we can download that reproduces the issue. Feel free
to delete this section if it's not relevant to the issue (eg - feature request).
The project should be short, self-contained, and correct example.