Swift
Swift 5.9
Swift Structured Concurrency
- Prefer
async let
, withTaskGroup()
- Avoid
Task.init
, Task.detached
- Tasks do not enforce order
- Must check for cancellation, not automatic
- Child tasks inherit priority from parent
- Priority escalation (to address priority inversion)
- Task-local values
- attach metadata to current task
- inherited by child tasks
- propagate context
- New:
withDiscardingTaskGroup { }
- Swift Log:
Logger.MetadataProvider
- Swift Distributed Tracing (similar to Swift Log and Swift Metrics)
Macros