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