Project Update: Libs Team
summary
A large attempt to embed parking_lot into the standard library accumulates about 300 comments and stalls. The concrete responses are: remove a legacy panic guarantee, enable per‑platform unboxing so mutexes stop forcing heap allocation, update Windows docs to permit movable mutexes, and implement primitive park/unpark using futex on Linux and WaitOnAddress on Windows — each change lands as small PRs. These incremental fixes merge and unblock future work while a new library team formalizes handling of major change proposals.
AI-written summary · about
chapters (26)
- 0:00Intro
- 0:18I'M GOING TO TELL YOU A STORY
- 0:43PROBLEMS
- 0:59MUTUAL EXCLUSION
- 1:13LOCK &MUT SOMETHING UNLOCK
- 1:54IMPLEMENTENTING IS HARD
- 3:29IN RUST, OBJECTS CAN BE MOVED
- 4:55IN RUST, 'WRONG'USAGE MUST BE SAFE
- 5:52DEADLOCKING IS SAFE
- 7:14IN RUST, FORGETTING THINGS MUST BE SAFE
- 8:29FITTING A C-SHAPED PEG INTO A RUST-SHAPED HOLE.
- 8:40A SOLUTION
- 9:59MUTEXES ARE ONE BYTE AND NOT HEAP ALLOCATED
- 11:32IT'S A HUGE AMOUNT OF NEW CODE (new to std)
- 13:28TOO MANY THINGS TO DISCUSS AT ONCE
- 14:37LARGE CHANGES PUSH THINGS FORWARD EVEN WHEN THEY FAIL
- 15:05STUCK
- 16:15FAILED ATTEMPT BECOMES AN OBSTACLE
- 18:04TINY STEPS
- 18:46STABILITY GUARANTEES
- 20:20MOVABLE MUTEXES
- 23:01NEW O.S. PRIMITIVES
- 24:56SMALLER CHUNKS ARE EASIER TO CHEW
- 25:36MOVING FORWARD
- 26:00MCPS: MAJOR CHANGE PROPOSALS
- 28:26KEEP MAKING SMALL STEPS
related talks
35mRust for Linux Office Hours
54mC++26: an overview
01h 04m[old version]The C++20 Synchrononization Library
39mSecure Path Operations and Libpathrs
59mMultithreading 101: Concurrency Primitives From Scratch
40mRust’s approach of getting things right
24mRust for Linux: Status Update
01h 01mThings Happening in SG14…
