&gt; It is true that if you don&#x27;t have dependencies, &quot;cargo build&quot; will go get them, but if you don&#x27;t, then it shouldn&#x27;t.<p>The main problem is you can&#x27;t download dependencies separately from compiling
your code. It should <i>never</i> be the same step. Even pip had it mostly correct,
by providing an option to disable network communication.<p>It is <i>somewhat</i> mitigated by documentation mentioning where the downloaded
dependencies are put, so you can do all that manually. This sucks balls
heavily.<p>&gt; Yes, Cargo builds itself with Cargo, so you need to get a previous Cargo.
The binary is very much not &#x27;random&#x27;.<p>It&#x27;s fetched outside of regular downloading you do on tarball. You have no
control over where is it downloaded from. It means it&#x27;s pretty much random for
your purposes. Heck, it would be even unexpected, if I wasn&#x27;t used to
developers not understanding the difference between building and downloading
software.<p>But this is not the main point. Cargo should not need <i>already compiled Cargo</i>
to build itself. This is ridiculous. I understand that every good compiler is
built with the very same compiler you&#x27;re building, but look at how they do
that: by <i>bootstrapping</i>. Not so much with Cargo. Who ever thought it as
a valid idea?