Not entirely true. Rust (cargo) supports git-based crates and more crate sources than just crates.io (registry = "crates-io"), however crates on crates.io doesn't currently support dependencies with crates in other registries.
somecrate = { git = "https://...." }
other-crate = { version = "1.0", registry = "my-registry" }
It also supports source replacement downstream:https://doc.rust-lang.org/cargo/reference/source-replacement...
crates.io could be updated to support alternative registries.