It’s normal — not a bug. In async Rust, await changes how variables are stored, so their drop order isn’t guaranteed.
await
If you want a fixed order, drop them manually:
std::mem::drop(x);