Async Rust has specific error handling and cancellation behaviors that differ from synchronous code. This post covers cancellation-safe futures, the select! macro in depth, what happens when futures are dropped mid-operation, and how to design async code that handles cancellation without corrupting state.