I agree with @nuclearace, If promise makes it to the standard library, it won't be directly through async/await.
async let
is a building block of Structured Concurrency. It starts a child task, that can't outlive its parent.
In that configuration cancellation is mostly handled by Swift.