Add Option::take_map{,_default}()
Remove redundant Atomic{Ui,I}nt types from unstable::sync
Add AtomicOption::fill() and AtomicOption::is_empty()
Reimplement ARC::unwrap() and friends.
Add UnsafeAtomicRcBox::try_unwrap()
Add KillHandle and implement exit code propagation to replace join_latch
Add kill::Death for task death services and use it in Task.
Remove join_latch
Add tests for KillHandle
Implement KillHandle::kill() and friends (unkillable, atomically). Close #6377.
Do a task-killed check at the start of task 'timeslices'.
Add BlockedTask (wake, try_block, etc) in kill.rs.
Change the HOF context switchers to pass a BlockedTask instead of a ~Task.
Add test::with_test_task() convenience function.
Add tests for task killing and blocking.
Stash a spare kill flag inside tasks, to save two atomic xadds in the blocking fastpath.
Add option::take(), the building block of the option::swap_* family.
Replace *rust_task ptrs in taskgroup code with TaskHandle, for transitioning to newsched killing.
(cleanup) Modernize taskgroup code for the new borrow-checker.
(cleanup) Don't check taskgroup generation monotonicity unless cfg(test).