Allow a no-cargo setup for bzlmod (#2565)
Usage looks like so:
```
crate = use_extension("@rules_rust//crate_universe:extension.bzl", "crate")
crate.spec(package = "anyhow", version = "1.0.77")
....
crate.from_specs(name = "crates")
```
It might make sense to merge the annotation attributes into the spec so
we don't have to duplicate things, but we can probably iterate on this
in the future, this API is still experimental, yeah?This repository provides rules for building Rust projects with Bazel.
General discussions and announcements take place in the GitHub Discussions, but there are additional places where community members gather to discuss rules_rust.
Please refer to the full documentation.