Subject: bug#62064: Why is only rust-1.60 exported when 1.65 is defined?

From: Simon Tournier <[email-masked]>
Date: Tue, 14 Mar 2023 09:32:43 +0100

Hi Jonas,

On Mon, 13 Mar 2023 at 20:59, Jonas Møller via Bug reports for GNU Guix <[email-masked]> wrote:
>> Well, the issue when exporting ’rust-1.65’ is that it would possible
>> incompatible with the Rust packages provided by Guix and compiled with
>> ’rust’ (1.60).
>
> Rust has very strong stability guarantees between 1.x releases, and
> has a very extensive set of tooling/infrastructure to make sure no
> breaking changes make their way into a release (see crater [1]). Any
> Rust-based package big enough to be packaged by Guix will have had its
> test-suite confirmed to work with the new release of cargo/rustc long
> before any new release is made (and in many cases before pull-requests
> are merged.)

To test your claim, I would suggest to write a manifest using package
transformations [1] and then rebuild all Rust packages from Guix.

1: https://guix.gnu.org/manual/devel/en/guix.html#Package-Transformation-Options
2: https://guix.gnu.org/manual/devel/en/guix.html#Defining-Package-Variants

> Nevertheless, rebuilding all Rust packages on every rustc release
> isn't strictly necessary. (Improvements in optimizations do happen,
> but they are mosty minor release-to-release.)

I do not understand how this could be implemented with Guix.  Could you
be more specific?

Well, all in all, I do not think this report is a bug but a wish list.
Instead, I would suggest to discuss the actionable tasks for updating
Rust [3] in the mailing list guix-devel, WDYT?

3: https://guix.gnu.org/manual/devel/en/guix.html#Defining-Package-Variants

Cheers,
simon