From 27228ce2920b154ff6b1775a5f5c854490b1fe07 Mon Sep 17 00:00:00 2001 From: Michael Forster Date: Thu, 19 Jan 2023 05:54:19 +0100 Subject: [PATCH] Update MSRV to 1.61 This is needed for compatibility with the sapling dag crate. --- .github/workflows/build.yml | 2 +- CHANGELOG.md | 2 ++ Cargo.toml | 2 +- README.md | 2 +- docs/contributing.md | 6 +++--- flake.lock | 12 ++++++------ lib/Cargo.toml | 2 +- lib/src/index.rs | 2 +- lib/testutils/Cargo.toml | 2 +- src/cli_util.rs | 3 ++- 10 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6039b07f3..420c6d3c5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ jobs: rust_version: stable - build: linux-msrv os: ubuntu-latest - rust_version: "1.60" + rust_version: "1.61" - build: macos os: macos-latest rust_version: stable diff --git a/CHANGELOG.md b/CHANGELOG.md index d913e383f..dc35a1e96 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Breaking changes +* The minimum supported Rust version (MSRV) is now 1.61.0. + * The `jj touchup` command was renamed to `jj diffedit`. * The `-i` option to `jj restore` was removed in favor of new `--from`/`--to` diff --git a/Cargo.toml b/Cargo.toml index 91651f6a7..2d80eb267 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "jujutsu" version = "0.6.1" authors = ["Martin von Zweigbergk "] edition = "2021" -rust-version = "1.60" # Remember to update CI, contributing.md, and flake.nix +rust-version = "1.61" # Remember to update CI, contributing.md, and flake.nix license = "Apache-2.0" description = "Jujutsu (an experimental VCS)" homepage = "https://github.com/martinvonz/jj" diff --git a/README.md b/README.md index 15eacf49d..9a72edb4b 100644 --- a/README.md +++ b/README.md @@ -140,7 +140,7 @@ See below for how to build from source. There are also [pre-built binaries](https://github.com/martinvonz/jj/releases) for Windows, Mac, or Linux (musl). -If you're installing from source, you need to use Rust version 1.60 or higher, +If you're installing from source, you need to use Rust version 1.61 or higher, or you will get a cryptic message like this: ``` error: failed to select a version for the requirement `libgit2-sys = "=0.14.0"`` diff --git a/docs/contributing.md b/docs/contributing.md index be7b6e23d..38d94a1d2 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -72,7 +72,7 @@ recommended steps. One-time setup: rustup toolchain add nightly # If this is not your default - rustup toolchain add 1.60 + rustup toolchain add 1.61 cargo install cargo-insta cargo install cargo-watch cargo install cargo-nextest @@ -81,7 +81,7 @@ During development (adapt according to your preference): cargo watch --ignore '.jj/**' -s \ 'cargo clippy --workspace --all-targets \ - && cargo +1.60 check --workspace --all-targets' + && cargo +1.61 check --workspace --all-targets' cargo +nightly fmt # Occasionally cargo nextest run --workspace # Occasionally cargo insta test --workspace # Occasionally @@ -109,7 +109,7 @@ These are listed roughly in order of decreasing importance. 3. Your code will be rejected if it cannot be compiled with the minimal supported version of Rust. This version is listed as - `rust-version` in [`Cargo.toml`](../Cargo.toml); it is 1.60 as of this + `rust-version` in [`Cargo.toml`](../Cargo.toml); it is 1.61 as of this writing. 4. Your code needs to pass `cargo clippy`. You can also diff --git a/flake.lock b/flake.lock index 4b3689739..3e6328536 100644 --- a/flake.lock +++ b/flake.lock @@ -17,11 +17,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1651634615, - "narHash": "sha256-VtvcS61bLh5mIBm9cV3idUHdlfPRFus/NwdJfaj5s8o=", + "lastModified": 1673947312, + "narHash": "sha256-xx/2nRwRy3bXrtry6TtydKpJpqHahjuDB5sFkQ/XNDE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "abfd31179174133ab8131139d650297bf4da63b7", + "rev": "2d38b664b4400335086a713a0036aafaa002c003", "type": "github" }, "original": { @@ -43,11 +43,11 @@ ] }, "locked": { - "lastModified": 1674008920, - "narHash": "sha256-ugwPxKjvmJ5GpzN/MHg8tuhe8nYi3SbJm5nWNy7CB0Q=", + "lastModified": 1674095406, + "narHash": "sha256-RexH/1rZTiX4OhdYkuJP3MuANJ+JRgoLKL60iHm//T0=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "eecc44934a0f6c02c02856b38bd3b6af3bec0870", + "rev": "5f7315b9800e2e500e6834767a57e39f7dbfd495", "type": "github" }, "original": { diff --git a/lib/Cargo.toml b/lib/Cargo.toml index e70928af8..fb9807ce6 100644 --- a/lib/Cargo.toml +++ b/lib/Cargo.toml @@ -3,7 +3,7 @@ name = "jujutsu-lib" version = "0.6.1" authors = ["Martin von Zweigbergk "] edition = "2021" -rust-version = "1.60" +rust-version = "1.61" license = "Apache-2.0" description = "Library for Jujutsu (an experimental VCS)" homepage = "https://github.com/martinvonz/jj" diff --git a/lib/src/index.rs b/lib/src/index.rs index 3d9768714..b835c764e 100644 --- a/lib/src/index.rs +++ b/lib/src/index.rs @@ -33,7 +33,7 @@ use crate::backend::{ChangeId, CommitId, ObjectId}; use crate::commit::Commit; use crate::file_util::persist_content_addressed_temp_file; #[cfg(not(feature = "map_first_last"))] -// This import is used on Rust 1.60, but not on recent version. +// This import is used on Rust 1.61, but not on recent version. // TODO: Remove it when our MSRV becomes recent enough. #[allow(unused_imports)] use crate::nightly_shims::BTreeSetExt; diff --git a/lib/testutils/Cargo.toml b/lib/testutils/Cargo.toml index 7b5e3b38f..4274eb82c 100644 --- a/lib/testutils/Cargo.toml +++ b/lib/testutils/Cargo.toml @@ -3,7 +3,7 @@ name = "testutils" version = "0.6.1" authors = ["Martin von Zweigbergk "] edition = "2021" -rust-version = "1.60" +rust-version = "1.61" license = "Apache-2.0" description = "Integration test utils for the jujutsu-lib crate" homepage = "https://github.com/martinvonz/jj" diff --git a/src/cli_util.rs b/src/cli_util.rs index 34e58d1ec..78123d54b 100644 --- a/src/cli_util.rs +++ b/src/cli_util.rs @@ -1735,7 +1735,8 @@ pub fn parse_args( Ok((matches, args)) } -// TODO: Return std::process::ExitCode instead, once our MSRV is >= 1.61 +// TODO: Return std::process::ExitCode instead, once +// feature(exitcode_exit_method) is stabilized #[must_use] pub fn handle_command_result(ui: &mut Ui, result: Result<(), CommandError>) -> i32 { match result {