December Adventure Day 21
Dec 21, 2025 - ⧖ 1 minPublished as part of 'December Adventure 2025' series.
Yesterday and today I started a Rust project where I'm re-implementing the ebook-splitting code and where I'll write the new algorithm I mentioned the other day.
Part of picking up Rust again is getting my bearings, especially around organizing code into modules. I think I finally have the rule I need to remember that always trips me up:
When you have binary and library code, they are different crates and
the library crate controls all the Rust source except the one file
that makes the binary, main.rs. That's why in main.rs you use PACKAGE_NAME::... and everywhere else you use crate::.... The
binary has to import the library. The library gets to talk about
itself as the crate.