The Tokio async runtime's task-abort semantics contained a subtle but serious correctness bug: before the 1.8.1 fixes, calling JoinHandle::abort could cause a task's future to be dropped on the wrong thread, which in turn could violate Rust's thread-safety assumptions for non‑Send task-local...