rust-impl is a personal learning project where I reimplement various features of the Rust programming language and standard library from scratch to deepen my understanding of how things work under the hood.
This repository serves as a hands-on exploration of core Rust concepts, standard library internals, and fundamental programming ideas in a low-level, systems-oriented context.
The goal of this project is to:
- Reinforce my understanding of Rust's core features.
- Explore how data structures, traits, and modules are implemented internally.
- Gain insight into systems-level programming using idiomatic Rust.
- Create a reference for others learning Rust through implementation.
The project is organized by topic, with each module containing well-commented, self-contained implementations.
Examples of areas covered:
- β Ownership and Borrowing (manual memory management)
- β Option / Result types
- β Traits and Trait Objects
- β Iterators and Closures
- β Collections (e.g., Vec, HashMap, LinkedList)
- β Smart Pointers (Box, Rc, RefCell)
- β Concurrency primitives
- β Custom allocators
- β Macros and procedural macros
- β Modules and visibility
More will be added as I explore deeper parts of the language.
Rather than just using built-in features, this project takes a "build it yourself" approach:
- No
stdwhen avoidable (some features use#![no_std]) - Manual implementations of traits and types
- Detailed comments explaining why and how
βοΈ Dive deep, build small, learn Rust from the inside out.