Welcome to this collection of small Rust projects designed to help you get hands-on experience with Rust,
explore its syntax, and become familiar with its core features.
Each submodule focuses on a specific Rust concept or technique through clean, practical examples.
| Project Name | Description | GitHub Link (main branch) |
|---|---|---|
| atomic_reference_count | Efficient atomic reference counting | View on GitHub |
| build_your_own_shell | Learn to build a simple shell in Rust | View on GitHub |
| dynamic_dispatch | Dynamic dispatch pattern in Rust | View on GitHub |
| filter_out_even_numbers | Filter odd numbers from integer lists in procedural and functional programming | View on GitHub |
| grouping_and_counting | Count and group string by length | View on GitHub |
| guess_number | Simple number guessing game | View on GitHub |
| multi_threaded_program | Rust multi-threading examples | View on GitHub |
| simple_grep | Simple grep implementation in Rust | View on GitHub |
| sum_of_squares_of_integers | Sum of squares computations in procedural and functional programming | View on GitHub |
| uuid_based_collections | Collections keyed by UUIDs | View on GitHub |
# Clone the repo including all submodules
git clone --recurse-submodules <your-repo-url>
# Or if already cloned, initialize and update submodules
git submodule update --init --recursiveEach submodule is pinned to a specific commit for reproducibility.
To update submodules to their latest main commits:
git submodule foreach 'git checkout main && git pull origin main'
git add .
git commit -m "Update submodules to latest main branch commits"
git push