Documentation
Six guides. The first explains what the tool measures and why; the rest are drills for a specific family of Rust syntax, in the order they are worth learning.
- What SyntaxGym is, and what it measures
Every metric defined precisely: keystroke accuracy, consistency, weak tokens, hesitation and mastery. How token detection avoids counting a match inside a comment, where your data lives, and what the tool deliberately does not do.
- Rust typing practice: a method, not a speed test
Why Rust is structurally slow to type — symbol density, prefix operators, nested closers — what to measure instead of words per minute, and the ten-step order for drilling it.
- Enum and match typing practice
The four-beat rhythm of a match arm, why the fat arrow is the most-reported weak token in Rust, and the five pattern forms worth drilling: guards, tuple and struct destructuring, @ bindings and let else.
- Option and Result typing practice
Why these two types generate more keystrokes than anything else in Rust, the ten-token inventory, the question mark operator and its From-conversion edge, and how to choose between four near-identical fallback methods.
- Borrowing and ownership typing practice
Why a prefix ampersand breaks typing rhythm in a way infix operators do not, the eight borrow shapes worth drilling, and why a lifetime is not an unterminated character literal.
- Collections and DSA typing practice
Vec, HashMap, VecDeque and BinaryHeap, the entry-API counting idiom, and four algorithm shapes — binary search, sliding window, linked-list reversal and a Reverse-wrapped min-heap.
Prefer to just start?
The trainer works without reading any of this.