Interesting, now I feel like an idiot. I had assumed cargo check performs a superset of cargo build (as in, lint checks/etc) but looking at the docs you’re right, it does seem to be aimed at doing exactly what I describe, skipping final compilation steps and just checking if the code has errors.
Update: after 2 days of replacing my “cargo build” shortcut with “cargo check”, I never saw an error that check didn’t catch.
Granted, most of my build/edit loop consists of attempting to build not-working-yet code anyway, so build was typically halted due to errors before linking happened in the first place, so in practice I don’t think it’s saved me that much time… but in the few cases where everything does build, it’s nice to not have to wait those extra few seconds for the green check (I’m using RustRover for the record.)
Time to re-bind my IDE shortcuts!