Skip to content
← All Rust tracks

The Expert Edge: Idiom, Review and Capstones

Rust

Combine earlier skills in larger exercises. Review ownership choices, API design and performance tradeoffs, then explain why your solution fits its requirements.

This track uses Rust. You can make it your practice mode to browse related content across the site.

11 exercises

3 articles

Explore freely. Sign in to keep your progress.

Your learning sequence

  1. 1 Not solved yet. Enum state machines with data-carrying transitions Practice · Hard
  2. 2 Not solved yet. Folding an AST: separating traversal from action Practice · Hard
  3. 3 Not solved yet. A macro-generated FFI binding layer Practice · Hard
  4. 4 Not solved yet. Build Rc<T> and RefCell<T> from scratch Practice · Hard
  5. 5 Not solved yet. Capstone: an ownership-only job scheduler Practice · Hard
  6. 6 Not solved yet. Capstone: build a thread pool Practice · Hard
  7. 7 Not solved yet. Capstone: an async executor with a logical-time reactor Practice · Hard
  8. 8 Not solved yet. Capstone: compose parser errors and their causes Practice · Hard
  9. 9 Not solved yet. Capstone: audit and repair an unsound abstraction Practice · Hard
  10. 10 Zero-cost abstractions, examined Read
  11. 11 Not solved yet. Unsound API smells: two fixes and a review checklist Practice · Medium
  12. 12 Not solved yet. Designing safe wrappers around unsafe FFI Practice · Hard
  13. 13 The reviewer's idiom checklist Read
  14. 14 When not to use unsafe, and when not to use async Read

Check yourself

4 questions · not saved while you're signed out

Use these questions to check your understanding and compare explanations. Your score does not affect track completion.

0 / 4 correct

Which call traits does inc implement in this program?

Choose one answer to reveal the explanations. Answers are kept only while this page is open.

fn main() {
    let mut count = 0;
    let mut inc = || { count += 1; };
    inc();
    inc();
    println!("{count}");
}
Question 1 of 4