Environment Setup
Install rustup, update stable Rust, and install mdBook:
rustup update stable
rustc --version
The repository selects rolling stable and Rust Edition 2024. It does not claim an older minimum
supported Rust version.
Check out the starting state
Clone the repository, then create a working branch from main:
git fetch origin
git switch --create course-work --track origin/main
Choose another branch name if course-work already exists. Verify the untouched starter:
cargo check -p type-exercise-starter --lib --locked
cargo test -p type-exercise-starter --lib --locked
Both commands should pass. Chapter tests do not exist in the starter until you copy them.
Follow the learner boundary
- Work only in implementation files under
type-exercise-starter/src/. - Do not edit
src/tests.rsor copied files undersrc/tests/. - Do not read, search, diff, or copy
type-exercise/,archived/, Git history, or an online solution while implementing a chapter. - Use the chapter, copied destination test, compiler diagnostics, and official Rust documentation.
- Add only the types, modules, dependencies, and public APIs owned by the current chapter.
The only permitted reference-to-starter operation is:
cargo x copy-test --chapter <N>
Run it without opening the source test. The command copies the cumulative tests through chapter
N, removes later managed tests, and regenerates the module list. Afterward, you may read the
copied destination. Its first focused run should be red until you implement the chapter.
Preview the course
mdbook serve course --open
Continue to Chapter 1: Connect One Type Family by Hand.
Your feedback is greatly appreciated. Join our Discord Community. Found an issue? Create an issue or pull request.
© 2022-2026 Alex Chi Z. Licensed under CC BY-NC-SA 4.0.