Swift 6.2 nonisolated(nonsending) async functions can inherit the caller actor execution context. This avoids an unnecessary hop and lets the function work safely with values isolated there.
CPU-heavy work can still hold up a UI actor. Mark work that should run on another executor with @concurrent. Check project language settings because the default behavior depends on adopted features.
When to use
Use it when deciding whether an async function stays with its caller or runs concurrently.