https://github.com/rust-lang/async-book/blob/ed022fc51a1c45e08be12bab65bc1cfd39d32a0d/src/01_getting_started/02_why_async.md?plain=1#L52 That is false. `RawWaker` very explicitly requires a dynamic dispatch, i. e. it's not zero-cost compared to, say, `mio` crate.