mrkeyoor.com_
Sat 05 Sept 14:44 UTC
Dev Toolsevaluationupdated 05 Sept 2026

comprehensive-rust review

Comprehensive Rust is an open-source course from Google's Android team for experienced software engineers learning Rust. Its core curriculum runs for four days, with separate material on Android, Chromium, bare-metal work, concurrency, idiomatic code, and unsafe Rust.

trackingstars / 7d
Verdict

Our sandbox installed 321 packages in 24 seconds, built in 143 seconds, and passed all 107 tests in 11 seconds. This is an excellent ready-made curriculum for an experienced engineer teaching other experienced engineers, especially when Android or Chromium material is useful. Independent beginners should start with the Rust book or an exercise-led course, then use these slides as a second pass.

We ran it

Lab card: what happened when we ran comprehensive-rustScreenshot of comprehensive-rust (google.github.io/comprehensive-rust)
Install✓ · 24s321 packages
Build✓ · 143s
Tests✓ · 11s107 passed · 0 failed of 107 (cargo test)
Repo864 files~10,117 lines of source · 25.3 MB · 6 CI workflows · tests dir

Answers from our run

Does comprehensive-rust build from source?

Dependencies installed in 24 seconds (321 packages), and the build succeeded in 143 seconds. We cloned commit c1852c3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do comprehensive-rust's tests pass?

Yes: 107 of 107 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use comprehensive-rust?

First-time programmers: the README targets experienced engineers, typically with a C++ or Java background, and the four-day pace is fast.

What are the alternatives to comprehensive-rust?

The Rust Programming Language, Rustlings, 100 Exercises To Learn Rust. Our sandbox installed 321 packages in 24 seconds, built in 143 seconds, and passed all 107 tests in 11 seconds.

Setup4/524-second install and clean build; Bazel and course tools are required
Docs5/5Instructor notes, exercises, solutions, schedules, and setup are included
Community5/533,347 stars with 117 open issues and 55 open pull requests
Maturity4/5Four-day curriculum is tested and active, without tagged releases

Who it’s for

Instructors teaching Rust to engineers who already know C++ or Java.
Teams able to spend four classroom days on language fundamentals and exercises.
Systems developers who need follow-on material for Android, Chromium, concurrency, or embedded work.
Learners who value runnable examples, solutions, speaker notes, and translated editions.

Who it’s NOT for

First-time programmers: the README targets experienced engineers, typically with a C++ or Java background, and the four-day pace is fast.
Solo learners who need a narrated course: the README calls self-study less ideal because classroom discussion, questions, and live compiler errors are missing; issue 52 still tracks the hope of publishing videos.
Teams unable to reserve substantial instructor time: Google's guide describes four 9:00-to-4:00 days, live coding, group exercises, and preparation across the full material.
Instructors expecting every deep dive to work from this checkout alone: Android needs an AOSP tree, Chromium needs a working Chromium build, and the embedded class needs a BBC micro:bit v2.
Windows users who cannot enable Developer Mode and Git symlinks: the setup notes require both.
Publishers who cannot attribute reused course text: documentation and images use CC BY 4.0, while source code uses Apache-2.0.

Setup reality

In our measurement setup, the sandbox installed 321 Rust packages in 24 seconds, built successfully in 143 seconds, and finished tests in 11 seconds with 107 passed and 0 failed. The commit c1852c3 checkout used 25.3 MB and contained 864 files with about 10,117 source lines.

Local authoring needs Rust plus Bazel through Bazelisk; cargo xtask install-tools installs the pinned mdBook helpers. No credential is needed for the core course. Translations add Gettext and dprint, while specialized classes require their own platform toolchains or hardware.

The static build does not bundle exercise archives automatically, so publishers must build and add them separately. Windows requires symlinks and Developer Mode. The instructor guide assumes a classroom, live coding, multiple breaks, and four teaching days rather than a quick self-paced tutorial.

Four classroom days target experienced engineers

Google's course begins with syntax and control flow, then moves through references, traits, generics, ownership, borrowing, lifetimes, iterators, testing, error handling, and unsafe code. The intended student already writes software, usually in C++ or Java. That assumption lets the material cover the language in 4 days, but it also makes the early sections brisk. A new programmer would be learning programming concepts and Rust's ownership model at the same time.

The instructor guide describes a 9:00 to 4:00 day with a 1-hour lunch, leaving 3 hours each for morning and afternoon sessions. Exercises take 30 to 45 minutes in both halves, including solution review. Google recommends spreading the 4 days across 2 weeks so students have time to process the material. This is a real teaching plan with live coding and questions, rather than a slide deck that happens to have an agenda.

What happened when we ran it

Our fresh Debian sandbox installed 321 Rust packages in 24 seconds. The build then succeeded in 143 seconds, and the test command finished in 11 seconds with 107 passed and 0 failed. We measured commit c1852c3 in an unprivileged container with 3 CPUs, 12 GB of RAM, and no secrets. Nothing in the install, build, or test log failed.

The checkout was modest beside most developer platforms: 864 files, roughly 10,117 lines of source, and 25.3 MB. Our scan found 6 CI workflow files, a tests directory, and no Dockerfile. Those figures cover the repository machinery and test suite, not a class of students. They cannot tell us whether an instructor explains the borrow checker well or whether a learner remembers lifetime syntax a month later.

The 25.3 MB checkout still needs Bazel and mdBook tools

Building locally starts with Rust and Bazel installed through Bazelisk. The cargo xtask install-tools command then obtains the expected versions of mdBook, translation helpers, the exercise preprocessor, course utilities, and a link checker. cargo xtask serve runs the site on port 3000, while cargo xtask build creates static output. The successful 143-second lab build shows that this toolchain worked in our stated container at the measured commit.

Publishing has an extra step: the README says exercises must be built, zipped, and added to the HTML output separately. Translation work adds Gettext utilities and dprint, with one PO file per language. On Windows, Git symlinks and Developer Mode must be enabled. None of this is difficult for a Rust team, though it is more setup than reading the hosted course. Most learners can use Google's published site and avoid the local build entirely.

Android and Chromium classes need their native workspaces

The 4-day fundamentals course is self-contained, while several deep dives assume expensive surroundings. The Android half-day needs an AOSP checkout, an emulator or device reachable through adb, and examples built before class. The Chromium half-day expects an existing Chromium build that can run. These sections are valuable because they address real integration with C++, Java, AIDL, GN, and platform build rules, but they are poor choices for a generic Rust workshop.

Bare-metal Rust takes a full day and requires a BBC micro:bit v2 plus extra packages. Concurrency is another full day, covering traditional synchronization and async work. The idiomatic Rust material lasts 2 days and assumes the fundamentals are already familiar. An unsafe-code deep dive is marked work in progress. Instructors should select the track their environment can support instead of presenting the repository as one continuous beginner course.

Self-study loses the classroom questions and compiler mistakes

The README directly says self-study is less ideal. A solo reader misses questions, answers, discussion, and the compiler errors an instructor deliberately triggers while typing examples. Speaker notes fill part of that gap, and the repository includes solutions to its exercises. Issue 52, still open after an update on July 28, 2026, says videos would help cover what is normally spoken in class. That language describes a hope, rather than a promised release.

Self-directed learners have better starting choices. The official Rust book develops concepts in a continuous narrative. Rustlings makes the compiler part of a sequence of small corrections, while 100 Exercises To Learn Rust uses a longer exercise-led path. Google's material becomes more useful after one of those routes, or when a colleague can stop, ask questions, and reproduce errors live. Its specialized Android and Chromium chapters then offer material the general introductions do not.

September pull requests show maintenance without release tags

The repository was pushed on September 1, 2026, and pull request 3275 was updated on September 4. GitHub listed 33,347 stars, 117 open issues, and 55 open pull requests. The latest-release endpoint returned no release, but that does not make the course abandoned. The live site and main branch are the delivery path, and recent code and translation pull requests show ongoing work.

Licensing also deserves attention before reuse. Code and embedded examples use Apache-2.0, while Markdown, documentation, and images use CC BY 4.0. That split is sensible for a course, but an internal fork must retain the right notices and attribution for each kind of file. For teams ready to teach, the clean 107-test result and detailed instructor notes make this a strong base. For a lone novice, the authors' own self-study warning should decide the matter.

Alternatives

ProjectWhat it isPick it when
The Rust Programming Language gh↗The official Rust book, organized as a self-paced language guide.pick this instead when you are learning alone and want a narrative reference rather than an instructor-led schedule.
RustlingsSmall compiler-guided exercises for practicing Rust syntax and concepts.pick this instead when repeated hands-on drills matter more than lecture slides and specialized platform chapters.
100 Exercises To Learn RustA self-paced Rust course built around a sequence of coding exercises.pick this instead when an individual learner wants exercise-driven progression without arranging a four-day class.

What people are saying

  1. [velocity-scout] google/comprehensive-rust

Sources

  1. Google Rust course README
  2. Course structure
  3. Instructor guide
  4. Translation workflow
  5. Video request issue 52
  6. Unsafe arithmetic pull request 3275
  7. GitHub releases page

More dev tools reviews

lazycodex · ai-toolbox · cli · aseprite · awesome-cpp · filament · the whole board →