apple / apple/swift-async-algorithms

Support task executors

Open
#341 2 comments 1 reaction 0 assignees View on GitHub
Dominant language
Swift
Stars
3.7k
Forks
226
Avg merge
10d 3h
Merged PRs (30d)
1

Description

`swift-async-algorithms` spawns unstructured tasks in several places (like for the `merge` operation). This is problematic because it doesn’t propagate the current preferred executor to these tasks. This means that it’s impossible to compose usage of these operations with custom task executors.

This should be fixed, either by seeing if it's possible to refactor these operations to use structured concurrency, or by setting a task executor on these unstructured tasks.

Contributor guide

Open the contributing guide

Research direction

Start by locating the unstructured task creation in the merge operation and the other async algorithms mentioned in the issue. Investigate whether structured concurrency or explicitly setting a task executor preserves the current preferred executor. Done means these operations can compose with custom task executors without losing that preference.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.