"Deletion" of spam/useless/broken crates is useful of course, but it could be solved without the alternative registry cargo feature, merely by making an alternative front-end that doesn't show them. That's what I'm trying to do with crates.rs.
Apart from that, even an identical read-only view of cratesio runs into the deduplication problem. If you install serde
from good-cratesio, your Serialize
trait will be considered incompatible with Serialize
trait used by crates from other registries or git.
I guess that for such mirror you could make "shell" crates that don't contain any code, but only do pub export actual-cratesio-crate::*
. This works around breakage dupes/conflicts, but it the hack is visible for the user. And it's limited to read-only copies, so you can't have crates expropriation policy, and still depends on cratesio, so it's not even a proper mirror.