> It's not obvious to me why they do this – it's a documentation generator, why does it care what version of the Rust compiler I'm using?
rustdoc, being a part of the Rust distribution, has the same stability guarantees that Rust does: once it gains a feature, it will never go away. We (well, not me I don't really work on rustdoc, to be clear) need the capacity to try out new features without committing to them, same as features in the language.
> PyPI launched in 2003, and CPAN has been running since 1995
Neither of these support namespacing though, right?
> Cargo's unit of distribution is the crate, which is a problem because Rust's compilation unit is also the crate.
Cargo's unit of distribution is a package, which is one or more crates. It is true that there can only be one library crate per package, however. This is one area where people don't use the correct words super often, honestly.
> Of course build times are slow if changing one line of a leaf file requires rebuilding dozens of modules.
This shouldn't change based on if you're using Cargo or not; if it's re-building dependencies every time you touch a file, that is a bug.