mesa/docs/rust.rst
Paolo Bonzini 2e4a8e98bd docs: document naming convention for Rust subprojects
Place the convention so that distro packagers know that they can
rely on it, and not following it is a bug.

This is the same convention that Meson uses for Cargo subprojects,
but Mesa is not using them as they are experimental and not really
usable yet.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36284>
2025-07-24 17:52:34 +00:00

33 lines
1.2 KiB
ReStructuredText

Rust
====
Rust Subproject Names
---------------------
All Rust subprojects should follow the convention ``NAME-SEMVER-rs``,
where ``SEMVER`` is the version up to and including the first nonzero
component. For example, ``zerocopy-0.8.13`` becomes ``zerocopy-0.8-rs``,
whereas ``syn-2.0.66`` becomes ``syn-2-rs``.
Rust Update Policy
------------------
Given that for some distributions it's not feasible to keep up with the
pace of Rust, we promise to only bump the minimum required Rust version
following those rules:
- Only up to the Rust requirement of other major Linux desktop
components, e.g.:
- `Firefox ESR <https://whattrainisitnow.com/release/?version=esr>`__:
`Minimum Supported Rust Version:
<https://firefox-source-docs.mozilla.org/writing-rust-code/update-policy.html#schedule>`__
- latest `Linux Kernel Rust requirement
<https://docs.kernel.org/process/changes.html#current-minimal-requirements>`__
- Only require a newer Rust version than stated by other rules if and only
if it's required to get around a bug inside rustc.
As bug fixes might run into rustc compiler bugs, a rust version bump _can_
happen on a stable branch as well.