A comprehensive workspace documenting my journey through the Rust programming language. This repository serves as a centralized collection of code, notes, exercises, and experiments as I work through multiple Rust books and resources.
This repository is my personal Rust learning laboratory — a structured approach to mastering Rust through hands-on practice, deliberate documentation, and iterative experimentation. Each book or resource gets its own dedicated space, making it easy to track progress and revisit concepts.
- Structured Learning: Organized by book/resource for clear progression
- Hands-On Practice: Real code, not just theory
- Knowledge Retention: Written notes and examples to reinforce learning
- Progress Tracking: Easy to see what I've covered and what's next
- Reference Material: A personal Rust reference I can return to
rust-learning/
├── Cargo.toml # Root workspace configuration
├── src/
│ └── main.rs # Quick experiments and scratch code
│ └──books/
│ ├── the-rust-programming-language/
│ │ ├── chapters/ # Chapter-by-chapter code
│ │ ├── examples/ # Worked examples from the rustlings
│ │ └── README.md # Progress tracker for this book
│ │
│ ├── rust-by-example/
│ │ ├── examples/ # Code examples from RBE
│ │ └── README.md # Progress and notes
│ │
│ ├── async-rust/
│ │ ├── examples/ # Async/await examples
│ │ ├── experiments/ # Custom async projects
│ │ └── README.md # Async learning progress
│ │
│ └── ... # Additional books as I progress
│
├── NOTES.md # Notes and Insights
└── readme.md # This file
Each book folder follows a consistent structure:
chapters/— Code organized by chapter or sectionexamples/— Direct examples from the book (sometimes with my modifications)exercises/— My solutions to problems and challengesexperiments/— Personal explorations beyond the book contentnotes/— Markdown notes on key conceptsREADME.md— Book-specific progress, insights, and chapter checklist
| Book/Resource | Status | Focus Areas |
|---|---|---|
| The Rust Programming Language | 🔄 In Progress | Fundamentals, ownership, lifetimes |
| Rust By Example | 📋 Planned | Practical patterns and idioms |
| Async Programming in Rust | 📋 Planned | Async/await, futures, tokio |
- Rustonomicon (unsafe Rust)
- Rust Design Patterns
- Command Line Apps in Rust
- Zero To Production in Rust
- ✅ Understand ownership, borrowing, and lifetimes deeply
- ✅ Write idiomatic, safe Rust code
- ✅ Master pattern matching and error handling
- ✅ Gain proficiency with traits, generics, and advanced types
- ✅ Build confidence with async Rust and concurrency
- ✅ Explore unsafe Rust and FFI when necessary
To run the main scratch file:
cargo runNavigate to a book's folder and run examples:
cd books/the-rust-programming-language/chapters/03-variables
cargo runOr use the manifest path directly:
cargo run --manifest-path books/the-rust-programming-language/chapters/03-variables/Cargo.tomlRun tests across the workspace:
cargo testAs I progress, I'll document key learnings, "aha moments," and challenging concepts in each book's README. This helps reinforce understanding and creates a personal reference guide.
- Ownership & Borrowing: The core of Rust's memory safety
- Lifetimes: When and why they're needed
- Trait System: Composition over inheritance
- Error Handling:
Result,Option, and the?operator - Async/Await: Writing non-blocking concurrent code
- Macros: Code generation and metaprogramming
- Unsafe Rust: When and how to use it responsibly
- Rust (latest stable): Install via rustup
- Cargo: Comes with Rust
- IDE/Editor: VS Code with rust-analyzer, or your preferred setup
# Format code
cargo fmt
# Lint code
cargo clippy
# Check without building
cargo checkI maintain detailed progress in each book's individual README. Overall:
- Total Books: 3+ planned
- Chapters Completed: Tracked per book
- Exercises Solved: Growing collection
- Projects Built: See project milestones above
This is primarily a personal learning repository, but if you spot errors, have suggestions for better approaches, or want to share Rust learning resources, feel free to open an issue or PR!
This repository is licensed under the MIT License. All code is for educational purposes.
Sumit Mazumdar
- Learning Rust since: [May 2025]
- Connect: [https://x.com/sum1t_here]
- The Rust community for excellent learning resources
- Authors of "The Rust Programming Language" book
- Contributors to Rust By Example and other learning materials
Happy Learning! 🦀
"Rust is not about making simple things harder; it's about making hard things possible." — Someone wise, probably