You'll spend more time reading compiler output than almost anything else in Rust. The good news: Rust's errors are arguably the best in any mainstream language. Learning to read them is learning Rust.
Anatomy of an error
A Rust error has the same parts every time: an error code (E0382), a one-line summary, the span (the exact source pointed at with carets), and often a help: or note: suggesting the fix. Read it top to bottom. The summary tells you what; the span tells you where; the help tells you how.
rustc --explain
Every error code has a full writeup. rustc --explain E0382 prints a complete explanation with examples of the bug and the fix. When an error is unfamiliar, that's your first move — before any web search.
Warnings vs errors
Errors stop compilation; warnings don't, but ignore them at your peril. An unused variable, an unused import, a value you forgot to use — warnings are the compiler noticing a smell. Keep your build warning-clean from day one; it's far easier than digging out of a hundred later.
clippy — the compiler's opinionated cousin
cargo clippy goes beyond correctness into idiom: it catches a manual loop that should be an iterator, a verbose pattern with a cleaner form, a needless clone. It's like having a Rust mentor review every line. (Full tooling track later.)