MENU

Fun & Interesting

Crust of Rust: Send, Sync, and their implementors

Jon Gjengset 49,615 3 years ago
Video Not Working? Fix It Now

This time we go over the Send and Sync marker traits from the standard library, as well as some of the most important implementors (and non-implementors) of them. You can find the nomicon entry for Send/Sync here: https://doc.rust-lang.org/nomicon/send-and-sync.html. Live version with chat: https://youtu.be/xmkSDM5omFA 0:00:00 Why Send and Sync? 0:01:31 What are Send and Sync? 0:02:51 Marker traits 0:03:50 Auto traits 0:05:45 The Send trait 0:06:49 Types that aren't Send 0:09:40 Digging into Rc 0:23:52 The Sync trait 0:26:21 Send + !Sync 0:32:41 Negative implementations 0:35:17 Sending mutable references 0:37:00 Raw pointers 0:41:54 std::sync::mpsc and !Sync 0:42:30 Placement of T: Send/Sync bounds 0:46:04 Per-OS impl Send for guards 0:47:06 more std::sync::mpsc and !Sync 0:48:40 Is Send/Sync auto-implemented? 0:50:40 The nomicon Send/Sync entry 0:52:57 There's no magic! 1:02:46 Negative impls on stable

Comment