A collection of my solutions to Advent of Code 2025, written in Rust.
This project serves as a practical way for me to learn Rust deeply by solving progressively harder problems using increasingly idiomatic patterns.
Each day follows a shared interface (Day trait) and a consistent file structure.
Run a day:
cargo run -- <day>Run a specific part:
cargo run -- <day> <part>Run all tests:
cargo testaoc-2025/
βββ inputs/
β βββ day01.txt
β βββ day02.txt
β βββ ...
βββ src/
β βββ main.rs
β βββ lib.rs # Day trait + generic runner
β βββ days/
β βββ mod.rs
β βββ day01.rs
β βββ day02.rs
β βββ ...
lib.rs: defines theDaytrait and shared utilitiesmain.rs: command-line entrypointdays/dayXX.rs: each day's solution
- Learn idiomatic Rust
- Practice:
- ownership & borrowing
- lifetimes (when needed)
- iterators & combinators
- pattern matching
- clean module structures
- error handling
- testing & benchmarks
- Solve the puzzles in a clean, readable way
- Refactor code as Rust knowledge improves
| Day | Part 1 | Part 2 | Notes |
|---|---|---|---|
| 01 | β | β | |
| 02 | β | β | |
| 03 | β | β | |
| 04 | β | β | |
| 05 | β | β | |
| 06 | β | β | |
| 07 | β | β | |
| 08 | β | β | |
| 09 | β | β | |
| 10 | β | β | |
| 11 | β | β | |
| 12 | β | β |
This repository is part of my Rust learning journey.
Expect refactoring, experiments, and increasingly idiomatic solutions as I progress.