Calling an async fn runs none of its body. It builds a state machine and hands it to you, sitting at state zero:
let fut = build(); // nothing has happened
The body runs only when something polls it. This is the opposite of a JavaScript promise, which begins executing the moment it is created.
That is why an unawaited future is a warning: Future is #[must_use], and dropping one silently means the work you asked for never happened.
