Quick / Nimble

A Matcher Framework for Swift and Objective-C
https://quick.github.io/Nimble/documentation/nimble/
Apache License 2.0
4.8k stars 596 forks source link

Make the async version of poll concurrency-safe by wrapping it in an actor #1059

Closed younata closed 1 year ago

younata commented 1 year ago

This takes the change to poll() as specified in the adopt strict concurrency checking PR (minus requiring values/closures be Sendable) and adopts it earlier.

This fixes an odd (odd enough that while I have been able to reproduce this issue, I don't know how to write a specific unit test to check it) test crash caused by (presumably?) concurrent access to the lastPredicateResult variable.

It's a bug fix. Once merged, this should be part of the 12.0.1 release.