
# Rust dependencies

The purpose of `//tools/workspace/crate_universe` is to provide a central
location to declare Drake's (pinned) dependencies on Rust crates, and the
repository rule(s) to load them into our WORKSPACE.

To this end, we use the crate_universe rule set from Bazel's rules_rust:
  http://bazelbuild.github.io/rules_rust/crate_universe.html

The files in our subdirectory `lock/**` are all generated by `upgrade.sh`.

## Upgrading

To upgrade Drake's pinned Rust dependencies, run this tool:
  tools/workspace/crate_universe/upgrade.sh

TODO(jwnimmer-tri) Wire this up into our tools/workspace/new_release tool:
- teach new_release to repin the crate_universe;
- teach new_release that clarabel_cpp_internal + crate_universe are a cohort.
