Skip to content

Conversation

@younata
Copy link
Member

@younata younata commented Jul 30, 2023

As part of concurrency checking, AsyncPredicate needs to be Sendable. Part of that is that the closure needs to be Sendable and AsyncPredicate needs to be constrained to only Sendable types.

As part of interop with AsyncPredicate, Predicate needs to be Sendable. Though, it's ok to only make Predicate Sendable when the type it works with is Sendable (that is, we have: extension Predicate: Sendable where T: Sendable {}).

This also fixes compiler errors in Nimble associated with making the closures passed to Predicate Sendable.

Make Predicate's closure Sendable, and make Predicate Sendable when the returning value is Sendable
@younata younata added this to the v13.0.0 milestone Jul 30, 2023
@younata younata merged commit 89f5479 into nimble-13 Aug 13, 2023
@younata younata deleted the sendable-asyncpredicate branch August 13, 2023 03:56
@younata younata mentioned this pull request Aug 13, 2023
1 task
younata added a commit that referenced this pull request Mar 17, 2024
Make Predicate's closure Sendable, and make Predicate Sendable when the returning value is Sendable
younata added a commit that referenced this pull request Apr 11, 2024
Make Predicate's closure Sendable, and make Predicate Sendable when the returning value is Sendable
younata added a commit that referenced this pull request Jun 18, 2024
Make Predicate's closure Sendable, and make Predicate Sendable when the returning value is Sendable
younata added a commit that referenced this pull request Oct 14, 2024
Make Predicate's closure Sendable, and make Predicate Sendable when the returning value is Sendable
younata added a commit that referenced this pull request Dec 20, 2024
Make Predicate's closure Sendable, and make Predicate Sendable when the returning value is Sendable
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants