Rust for Rustaceans
by Jon Gjengset (2022)
Tuesday evenings, 5 pm pacific time / 7 pm central time
Meetup: https://www.meetup.com/the-south-padre-island-reading-group/events/284497316/
Zoom: https://us02web.zoom.us/j/84281187589
Discord: https://bit.ly/35RhGXM
No Starch Press: https://nostarch.com/rust-rustaceans
Chapter 10 March 22, 2022 | Presenter |
---|---|
The Trouble with Concurrency | |
Concurrency Models | |
Asynchrony and Parallelism | |
Lower-level Concurrency | |
Sane Concurrency |
Chapter 20 - Programming Rust, 2nd edition March 15, 2022 | Presenter |
---|---|
From Synchronous to Asynchronous | Casey & Karthik |
An Asynchronous Client and Server | |
Primitive Futures and Executors: When is a Future Worth Polling Again? | |
Pinning | |
When is Asynchronous Code Helpful? |
Chapter 8 March 1, 2022 | Presenter |
---|---|
What’s the Deal with Asynchrony? | Casey |
Ergonomic Futures | Casey |
| Pin and unpin | Karthik |
Going to Sleep | |
Tying It All Together with spawn |
Chapter 7 February 22, 2021 | Presenter |
---|---|
Declarative Macros | Casey |
Declarative Macros | Karthik |
Procedural Macros | Karthik |
Procedural Macros | Casey |
Procedural Macros | Casey |
Chapter 6 February 15, 2022 | Presenter |
---|---|
Rust Testing Mechanisms | The Test Harness | Casey |
Rust Testing Mechanisms | #[cfg(test)] | Karthik |
Rust Testing Mechanisms | Doctests | Casey |
Additional Testing Tools | Linting | Viktor |
Additional Testing Tools | Test Augmentation | Raj |
Notes:
Here is some interesting supplementary material on the issue Karthik and I were discussing
https://doc.rust-lang.org/cargo/reference/resolver.html (see Version-incompatibility hazards)
https://github.com/dtolnay/semver-trick
Let’s discuss this briefly at our next session.
Chapter 5 February 8, 2022 | Presenter |
---|---|
Features | Karthik |
Workspaces | Viktor |
Project Configuration | Casey |
Conditional Compilation | Raj |
Versioning | Casey |
Chapter 4 | Presenter |
---|---|
Representing Errors | Enumeration | Casey |
Representing Errors | Opaque Errors | Casey |
Representing Errors | Special Error Cases | Karthik |
Propagating Errors | Karthik |
Chapter 3 January 18, 2022 | Presenter |
---|---|
Unsurprising | Naming Practices,, Common Traits for Types | Casey - January 18 |
Unsurprising | Ergonomic Trait Implementations, Wrapper Types | Casey - January 25 |
Flexible | Generic Arguments | Victor |
Flexible | Object Safety | Victor |
Flexible | Borrowed vs. Owned | Victor |
Flexible | Fallible and Blocking Destructors | Victor |
Obvious | Documentation | Karthik |
Obvious | Type System Guidance | Karthik |
Constrained | Type Modifications | Casey |
Constrained | Type Implementations | Casey |
Constrained | Hidden Contracts | Casey |
Chapter 2 December 21, 2021 | Presenter |
---|---|
Types in Memory | Alignment | Victor S - December 21 |
Types in Memory | Layout | Victor S - January 11 |
Types in Memory | Complex Types, Dynamically Sized Types and Wide Pointers | Karthik - January 11 |
Traits and Trait Bounds | Compilation and Dispatch | Casey - January 11 |
Traits and Trait Bounds | Generic Traits | Casey - January 11 |
Traits and Trait Bounds | Coherence and the Orphan Rule | Casey - January 11 |
Traits and Trait Bounds | Trait Bounds | Karthik - January 18 |
Traits and Trait Bounds | Marker Traits | Karthik - January 18 |
Existential Types | Karthik - January 18 |
Chapter 1 December 7, 2021 | Presenter |
---|---|
Talking About Memory | Casey - continuing on December 14 at “shadowing” (p. 4) |
Ownership | Jens - December 14 |
Borrowing and Lifetimes | Shared References | Vin - December 14 |
Borrowing and Lifetimes | Mutable References | Victor S - December 14 |
Borrowing and Lifetimes | Interior Mutability | Victor S - December 14 |
Borrowing and Lifetimes | Lifetimes | Karthik - December 21 |