Jim Newsome skriver: > Hi, I'm new to this project and this code-review workflow, so please bear with me :). Welcome! You are doing great. :-) > It looks like there have been a few attempts here at updating Rust, including [Paul's], [Felipe's], and [my own]. > > [Paul's]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=54439#5 > [Felipe's]: https://issues.guix.gnu.org/54475#0 > [my own]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=56684 Indeed. :-/ > There's some discussion in this thread about using an updated mrustc and using that to cut out some earlier steps of the bootstrap chain. I propose leaving that out for the moment. It seems both nontrivial and orthogonal, so IMO would make more sense as its own thread / patch-set, which could be reviewed and merged independently, before or after this one. This has recently been done on the 'staging' branch courtesy of Efraim. > I think there's some confusion about where and how tests are enabled/disabled. IIUC in the current baseline, they are disabled in `rust-1.55`, which is the first version built with an earlier "official" rust: > > ``` > ;; Only the final Rust is tested, not the intermediate bootstrap ones, > ;; for performance and simplicity. > #:tests? #f > ``` > > and subsequent versions inherit that via the `rust-bootstrapped-package` function. > > The latest and public version (currently `rust-1.57`) re-enables most of the tests and fixes up some things so that the tests pass. > > So I think the approach here when adding versions is to change the current latest (1.57) to the simpler form that keeps tests disabled, add any additional necessary steps, and have the test-reenabling code again in the latest version. That is my understanding too. > 2 patches included: > > * First is a pure refactor to decouple "rust-1.57" from "rust" to help avoid confusion in the future. > * Second adds 1.58, 1.59, and 1.60, and makes rust-1.60 the new rust. > > In the latter patch I also tried building each version with a Rust 2 versions back instead of just 1 version back, to see if any can be left out. Unfortunately they couldn't. I'm including some of the errors in the comments for reference. LGTM, I've pushed both patches to the 'staging' branch since Rust was already patched there and it has not started evaluating yet. Note: I also added a copyright line for you, hope that was okay. Closing the issue, but feel free to continue the discussion.