Matthias247 mentioned a very interesting area where async
/ await
differs from synchronous blocking functions.
Basically, because Futures can be dropped, your normal intuition that functions always run to completion is wrong.
So it actually is important to understand that .await
implicitly returns, even if you choose to ignore the state machine and the Executor runtime.