Rust's Module System For Effective Software Architecture
summary
Shows concrete claims and fixes: using workspaces and split dependency groups reduces compile time and avoids circular deps; replacing concrete DB types with use traits for generic interfaces makes modules reusable and easier to refactor; choosing compile‑time vs runtime polymorphism trades performance for lighter builds (example: trait‑based DB and dynamic‑dispatch logger implementations that run as expected). Recommends tools: cargo-modules, cargo-machete, cargo-audit and rationalizer, and moving large unit tests out of production files.
AI-written summary · about
chapters (9)
- 0:00Introduction and agenda
- 2:58Rust module system basics
- 4:16Concepts: modules and workspaces
- 6:15Large project architecture
- 9:57Strategies for decoupling code
- 15:01Runtime vs compile-time polymorphism
- 19:51Dependency management techniques
- 21:17Optimizing unit testing
- 21:43Helpful tools and conclusion
related talks
32mBuilding and Maintaining Rust at Scale
45mBuilding Safe and Secure Systems in Rust
49mThe Eternal Sunshine of the Spotless Programming Language
38mMaking Rust Delightful
25mType System Tips for the Real World
40mRust’s approach of getting things right
21mWords from the Core Team
58mRust for The Curious C++ Developers
