Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Troubleshooting FAQ

I see a warning "Variable None should have snake_case name, e.g. none"

rust-analyzer fails to resolve None, and thinks you are binding to a variable named None. That's usually a sign of a corrupted sysroot. Try removing and re-installing it: rustup component remove rust-src then rustup component install rust-src.

Rust Analyzer and Cargo compete over the build lock

Rust Analyzer invokes Cargo in the background, and it can thus block manually executed cargo commands from making progress (or vice-versa). In some cases, this can also cause unnecessary recompilations caused by cache thrashing. To avoid this, you can configure Rust Analyzer to use a different target directory. This will allow both the IDE and Cargo to make progress independently, at the cost of increased disk space usage caused by the duplicated artifact directories.