Override `Cargo.lock` checksums when doing a dry-run `publish` (#15711)
Fixes #15647.
When dry-run publishing workspace without bumping versions first, the
package-verification step would fail because it would see checksum
mismatches between the old lock file (that saw index deps) and the new
lock file where those index deps got replaced by local packages with the
same version.
In this PR, the packaging step modifies the old lock file's checksums
before re-resolving, but only in dry-run mode.
diff --git a/Cargo.lock b/Cargo.lock
index 9d9c012..164e3af 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -249,7 +249,7 @@
[[package]]
name = "build-rs"
-version = "0.3.1"
+version = "0.3.2"
dependencies = [
"unicode-ident",
]
@@ -300,7 +300,7 @@
[[package]]
name = "cargo"
-version = "0.90.0"
+version = "0.91.0"
dependencies = [
"annotate-snippets",
"anstream",
@@ -407,7 +407,7 @@
[[package]]
name = "cargo-credential-libsecret"
-version = "0.5.0"
+version = "0.5.1"
dependencies = [
"anyhow",
"cargo-credential",
@@ -416,7 +416,7 @@
[[package]]
name = "cargo-credential-macos-keychain"
-version = "0.4.15"
+version = "0.4.16"
dependencies = [
"cargo-credential",
"security-framework",
@@ -424,7 +424,7 @@
[[package]]
name = "cargo-credential-wincred"
-version = "0.4.15"
+version = "0.4.16"
dependencies = [
"cargo-credential",
"windows-sys 0.59.0",
@@ -448,7 +448,7 @@
[[package]]
name = "cargo-test-macro"
-version = "0.4.4"
+version = "0.4.5"
[[package]]
name = "cargo-test-support"
@@ -480,7 +480,7 @@
[[package]]
name = "cargo-util"
-version = "0.2.22"
+version = "0.2.23"
dependencies = [
"anyhow",
"core-foundation",
@@ -501,7 +501,7 @@
[[package]]
name = "cargo-util-schemas"
-version = "0.9.0"
+version = "0.9.1"
dependencies = [
"schemars",
"semver",
@@ -701,7 +701,7 @@
[[package]]
name = "crates-io"
-version = "0.40.12"
+version = "0.40.13"
dependencies = [
"curl",
"percent-encoding",
@@ -3435,7 +3435,7 @@
[[package]]
name = "rustfix"
-version = "0.9.1"
+version = "0.9.2"
dependencies = [
"anyhow",
"proptest",
diff --git a/Cargo.toml b/Cargo.toml
index 727f4a1..b4e7723 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,7 +11,7 @@
]
[workspace.package]
-rust-version = "1.85" # MSRV:3
+rust-version = "1.86" # MSRV:3
edition = "2021"
license = "MIT OR Apache-2.0"
homepage = "https://github.com/rust-lang/cargo"
@@ -84,7 +84,7 @@
rusqlite = { version = "0.34.0", features = ["bundled"] }
rustc-hash = "2.1.1"
rustc-stable-hash = "0.1.2"
-rustfix = { version = "0.9.0", path = "crates/rustfix" }
+rustfix = { version = "0.9.2", path = "crates/rustfix" }
same-file = "1.0.6"
schemars = "0.9.0"
security-framework = "3.2.0"
@@ -136,10 +136,10 @@
[package]
name = "cargo"
-version = "0.90.0"
+version = "0.91.0"
edition.workspace = true
license.workspace = true
-rust-version = "1.87" # MSRV:1
+rust-version = "1.88" # MSRV:1
homepage = "https://doc.rust-lang.org/cargo/index.html"
repository.workspace = true
documentation = "https://docs.rs/cargo"
diff --git a/crates/build-rs/Cargo.toml b/crates/build-rs/Cargo.toml
index 643d61b..093f22c 100644
--- a/crates/build-rs/Cargo.toml
+++ b/crates/build-rs/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "build-rs"
-version = "0.3.1"
+version = "0.3.2"
rust-version.workspace = true
edition.workspace = true
license.workspace = true
diff --git a/crates/build-rs/src/output.rs b/crates/build-rs/src/output.rs
index a1c047e..963a073 100644
--- a/crates/build-rs/src/output.rs
+++ b/crates/build-rs/src/output.rs
@@ -13,7 +13,7 @@
use crate::ident::{is_ascii_ident, is_ident};
fn emit(directive: &str, value: impl Display) {
- println!("cargo::{}={}", directive, value);
+ println!("cargo::{directive}={value}");
}
/// The `rerun-if-changed` instruction tells Cargo to re-run the build script if the
@@ -97,7 +97,7 @@
if flag.contains([' ', '\n']) {
panic!("cannot emit rustc-link-arg-bin: invalid flag {flag:?}");
}
- emit("rustc-link-arg-bin", format_args!("{}={}", bin, flag));
+ emit("rustc-link-arg-bin", format_args!("{bin}={flag}"));
}
/// The `rustc-link-arg-bins` instruction tells Cargo to pass the
@@ -433,5 +433,5 @@
panic!("cannot emit metadata: invalid value {val:?}");
}
- emit("metadata", format_args!("{}={}", key, val));
+ emit("metadata", format_args!("{key}={val}"));
}
diff --git a/crates/cargo-test-macro/Cargo.toml b/crates/cargo-test-macro/Cargo.toml
index ef18a41..faeba3e 100644
--- a/crates/cargo-test-macro/Cargo.toml
+++ b/crates/cargo-test-macro/Cargo.toml
@@ -1,8 +1,8 @@
[package]
name = "cargo-test-macro"
-version = "0.4.4"
+version = "0.4.5"
edition.workspace = true
-rust-version = "1.87" # MSRV:1
+rust-version = "1.88" # MSRV:1
license.workspace = true
homepage.workspace = true
repository.workspace = true
diff --git a/crates/cargo-test-support/Cargo.toml b/crates/cargo-test-support/Cargo.toml
index 6f8aa94..d37951a 100644
--- a/crates/cargo-test-support/Cargo.toml
+++ b/crates/cargo-test-support/Cargo.toml
@@ -2,7 +2,7 @@
name = "cargo-test-support"
version = "0.8.0"
edition.workspace = true
-rust-version = "1.87" # MSRV:1
+rust-version = "1.88" # MSRV:1
license.workspace = true
homepage.workspace = true
repository.workspace = true
diff --git a/crates/cargo-util-schemas/Cargo.toml b/crates/cargo-util-schemas/Cargo.toml
index 22a5050..e45ee33 100644
--- a/crates/cargo-util-schemas/Cargo.toml
+++ b/crates/cargo-util-schemas/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "cargo-util-schemas"
-version = "0.9.0"
-rust-version = "1.87" # MSRV:1
+version = "0.9.1"
+rust-version = "1.88" # MSRV:1
edition.workspace = true
license.workspace = true
homepage.workspace = true
diff --git a/crates/cargo-util/Cargo.toml b/crates/cargo-util/Cargo.toml
index 75b2618..a11f709 100644
--- a/crates/cargo-util/Cargo.toml
+++ b/crates/cargo-util/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "cargo-util"
-version = "0.2.22"
-rust-version = "1.87" # MSRV:1
+version = "0.2.23"
+rust-version = "1.88" # MSRV:1
edition.workspace = true
license.workspace = true
homepage.workspace = true
diff --git a/crates/crates-io/Cargo.toml b/crates/crates-io/Cargo.toml
index b1aff3a..eb14c10 100644
--- a/crates/crates-io/Cargo.toml
+++ b/crates/crates-io/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "crates-io"
-version = "0.40.12"
-rust-version = "1.87" # MSRV:1
+version = "0.40.13"
+rust-version = "1.88" # MSRV:1
edition.workspace = true
license.workspace = true
homepage.workspace = true
diff --git a/crates/rustfix/Cargo.toml b/crates/rustfix/Cargo.toml
index da620f8..451acd4 100644
--- a/crates/rustfix/Cargo.toml
+++ b/crates/rustfix/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "rustfix"
-version = "0.9.1"
+version = "0.9.2"
authors = [
"Pascal Hertleif <killercup@gmail.com>",
"Oliver Schneider <oli-obk@users.noreply.github.com>",
diff --git a/crates/rustfix/tests/everything/dedup-suggestions.fixed.rs b/crates/rustfix/tests/everything/dedup-suggestions.fixed.rs
index 693b050..fef95bf 100644
--- a/crates/rustfix/tests/everything/dedup-suggestions.fixed.rs
+++ b/crates/rustfix/tests/everything/dedup-suggestions.fixed.rs
@@ -1,7 +1,8 @@
// See <https://github.com/rust-lang/cargo/issues/13027>
macro_rules! foo {
() => {
- let _ = &1;
+ let x = Box::new(1);
+ let _ = &x;
};
}
diff --git a/crates/rustfix/tests/everything/dedup-suggestions.json b/crates/rustfix/tests/everything/dedup-suggestions.json
index 23c90d6..7057f17 100644
--- a/crates/rustfix/tests/everything/dedup-suggestions.json
+++ b/crates/rustfix/tests/everything/dedup-suggestions.json
@@ -1,323 +1,583 @@
{
"$message_type": "diagnostic",
- "message": "unused borrow that must be used",
- "code": {
- "code": "unused_must_use",
- "explanation": null
- },
- "level": "warning",
- "spans": [
- {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 96,
- "byte_end": 98,
- "line_start": 4,
- "line_end": 4,
- "column_start": 9,
- "column_end": 11,
- "is_primary": true,
- "text": [
- {
- "text": " &1;",
- "highlight_start": 9,
- "highlight_end": 11
- }
- ],
- "label": "the borrow produces a value",
- "suggested_replacement": null,
- "suggestion_applicability": null,
- "expansion": {
- "span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 126,
- "byte_end": 132,
- "line_start": 9,
- "line_end": 9,
- "column_start": 5,
- "column_end": 11,
- "is_primary": false,
- "text": [
- {
- "text": " foo!();",
- "highlight_start": 5,
- "highlight_end": 11
- }
- ],
- "label": null,
- "suggested_replacement": null,
- "suggestion_applicability": null,
- "expansion": null
- },
- "macro_decl_name": "foo!",
- "def_site_span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 57,
- "byte_end": 73,
- "line_start": 2,
- "line_end": 2,
- "column_start": 1,
- "column_end": 17,
- "is_primary": false,
- "text": [
- {
- "text": "macro_rules! foo {",
- "highlight_start": 1,
- "highlight_end": 17
- }
- ],
- "label": null,
- "suggested_replacement": null,
- "suggestion_applicability": null,
- "expansion": null
- }
- }
- }
- ],
"children": [
{
- "message": "`#[warn(unused_must_use)]` on by default",
+ "children": [],
"code": null,
"level": "note",
- "spans": [],
- "children": [],
- "rendered": null
+ "message": "`#[warn(forgetting_references)]` on by default",
+ "rendered": null,
+ "spans": []
},
{
- "message": "use `let _ = ...` to ignore the resulting value",
+ "children": [],
"code": null,
"level": "help",
+ "message": "use `let _ = ...` to ignore the expression or result",
+ "rendered": null,
"spans": [
{
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 96,
- "byte_end": 96,
- "line_start": 4,
- "line_end": 4,
+ "byte_end": 142,
+ "byte_start": 125,
+ "column_end": 26,
"column_start": 9,
- "column_end": 9,
- "is_primary": true,
- "text": [
- {
- "text": " &1;",
- "highlight_start": 9,
- "highlight_end": 9
- }
- ],
- "label": null,
- "suggested_replacement": "let _ = ",
- "suggestion_applicability": "MaybeIncorrect",
"expansion": {
- "span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 126,
- "byte_end": 132,
- "line_start": 9,
- "line_end": 9,
- "column_start": 5,
- "column_end": 11,
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
"is_primary": false,
- "text": [
- {
- "text": " foo!();",
- "highlight_start": 5,
- "highlight_end": 11
- }
- ],
"label": null,
+ "line_end": 2,
+ "line_start": 2,
"suggested_replacement": null,
"suggestion_applicability": null,
- "expansion": null
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
},
"macro_decl_name": "foo!",
- "def_site_span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 57,
- "byte_end": 73,
- "line_start": 2,
- "line_end": 2,
- "column_start": 1,
- "column_end": 17,
+ "span": {
+ "byte_end": 179,
+ "byte_start": 173,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
"is_primary": false,
- "text": [
- {
- "text": "macro_rules! foo {",
- "highlight_start": 1,
- "highlight_end": 17
- }
- ],
"label": null,
+ "line_end": 10,
+ "line_start": 10,
"suggested_replacement": null,
"suggestion_applicability": null,
- "expansion": null
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
}
- }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": true,
+ "label": null,
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": "let _ = ",
+ "suggestion_applicability": "MaybeIncorrect",
+ "text": [
+ {
+ "highlight_end": 26,
+ "highlight_start": 9,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
+ },
+ {
+ "byte_end": 145,
+ "byte_start": 144,
+ "column_end": 29,
+ "column_start": 28,
+ "expansion": {
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 2,
+ "line_start": 2,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
+ },
+ "macro_decl_name": "foo!",
+ "span": {
+ "byte_end": 179,
+ "byte_start": 173,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 10,
+ "line_start": 10,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
+ }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": true,
+ "label": null,
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": "",
+ "suggestion_applicability": "MaybeIncorrect",
+ "text": [
+ {
+ "highlight_end": 29,
+ "highlight_start": 28,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
}
- ],
- "children": [],
- "rendered": null
+ ]
}
],
- "rendered": "warning: unused borrow that must be used\n --> ./tests/everything/dedup-insert-only-replacements.rs:4:9\n |\n4 | &1;\n | ^^ the borrow produces a value\n...\n9 | foo!();\n | ------ in this macro invocation\n |\n = note: `#[warn(unused_must_use)]` on by default\n = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)\nhelp: use `let _ = ...` to ignore the resulting value\n |\n4 | let _ = &1;\n | +++++++\n\n"
-}
-{
- "$message_type": "diagnostic",
- "message": "unused borrow that must be used",
"code": {
- "code": "unused_must_use",
+ "code": "forgetting_references",
"explanation": null
},
"level": "warning",
+ "message": "calls to `std::mem::forget` with a reference instead of an owned value does nothing",
+ "rendered": "warning: calls to `std::mem::forget` with a reference instead of an owned value does nothing/n --> ./tests/everything/dedup-suggestions.rs:5:9/n |/n5 | std::mem::forget(&x);/n | ^^^^^^^^^^^^^^^^^--^/n | |/n | argument has type `&Box<i32>`/n.../n10 | foo!();/n | ------ in this macro invocation/n |/n = note: `#[warn(forgetting_references)]` on by default/n = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)/nhelp: use `let _ = ...` to ignore the expression or result/n |/n5 - std::mem::forget(&x);/n5 + let _ = &x;/n |/n/n",
"spans": [
{
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 96,
- "byte_end": 98,
- "line_start": 4,
- "line_end": 4,
- "column_start": 9,
- "column_end": 11,
- "is_primary": true,
- "text": [
- {
- "text": " &1;",
- "highlight_start": 9,
- "highlight_end": 11
- }
- ],
- "label": "the borrow produces a value",
- "suggested_replacement": null,
- "suggestion_applicability": null,
+ "byte_end": 144,
+ "byte_start": 142,
+ "column_end": 28,
+ "column_start": 26,
"expansion": {
- "span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 138,
- "byte_end": 144,
- "line_start": 10,
- "line_end": 10,
- "column_start": 5,
- "column_end": 11,
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
"is_primary": false,
- "text": [
- {
- "text": " foo!();",
- "highlight_start": 5,
- "highlight_end": 11
- }
- ],
"label": null,
+ "line_end": 2,
+ "line_start": 2,
"suggested_replacement": null,
"suggestion_applicability": null,
- "expansion": null
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
},
"macro_decl_name": "foo!",
- "def_site_span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 57,
- "byte_end": 73,
- "line_start": 2,
- "line_end": 2,
- "column_start": 1,
- "column_end": 17,
+ "span": {
+ "byte_end": 179,
+ "byte_start": 173,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
"is_primary": false,
- "text": [
- {
- "text": "macro_rules! foo {",
- "highlight_start": 1,
- "highlight_end": 17
- }
- ],
"label": null,
+ "line_end": 10,
+ "line_start": 10,
"suggested_replacement": null,
"suggestion_applicability": null,
- "expansion": null
- }
- }
- }
- ],
- "children": [
- {
- "message": "use `let _ = ...` to ignore the resulting value",
- "code": null,
- "level": "help",
- "spans": [
- {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 96,
- "byte_end": 96,
- "line_start": 4,
- "line_end": 4,
- "column_start": 9,
- "column_end": 9,
- "is_primary": true,
"text": [
{
- "text": " &1;",
- "highlight_start": 9,
- "highlight_end": 9
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
}
- ],
- "label": null,
- "suggested_replacement": "let _ = ",
- "suggestion_applicability": "MaybeIncorrect",
- "expansion": {
- "span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 138,
- "byte_end": 144,
- "line_start": 10,
- "line_end": 10,
- "column_start": 5,
- "column_end": 11,
- "is_primary": false,
- "text": [
- {
- "text": " foo!();",
- "highlight_start": 5,
- "highlight_end": 11
- }
- ],
- "label": null,
- "suggested_replacement": null,
- "suggestion_applicability": null,
- "expansion": null
- },
- "macro_decl_name": "foo!",
- "def_site_span": {
- "file_name": "./tests/everything/dedup-insert-only-replacements.rs",
- "byte_start": 57,
- "byte_end": 73,
- "line_start": 2,
- "line_end": 2,
- "column_start": 1,
- "column_end": 17,
- "is_primary": false,
- "text": [
- {
- "text": "macro_rules! foo {",
- "highlight_start": 1,
- "highlight_end": 17
- }
- ],
- "label": null,
- "suggested_replacement": null,
- "suggestion_applicability": null,
- "expansion": null
- }
- }
+ ]
}
- ],
- "children": [],
- "rendered": null
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": "argument has type `&Box<i32>`",
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 28,
+ "highlight_start": 26,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
+ },
+ {
+ "byte_end": 145,
+ "byte_start": 125,
+ "column_end": 29,
+ "column_start": 9,
+ "expansion": {
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 2,
+ "line_start": 2,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
+ },
+ "macro_decl_name": "foo!",
+ "span": {
+ "byte_end": 179,
+ "byte_start": 173,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 10,
+ "line_start": 10,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
+ }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": true,
+ "label": null,
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 29,
+ "highlight_start": 9,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
}
- ],
- "rendered": "warning: unused borrow that must be used\n --> ./tests/everything/dedup-insert-only-replacements.rs:4:9\n |\n4 | &1;\n | ^^ the borrow produces a value\n...\n10 | foo!();\n | ------ in this macro invocation\n |\n = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)\nhelp: use `let _ = ...` to ignore the resulting value\n |\n4 | let _ = &1;\n | +++++++\n\n"
+ ]
}
{
"$message_type": "diagnostic",
- "message": "2 warnings emitted",
+ "children": [
+ {
+ "children": [],
+ "code": null,
+ "level": "help",
+ "message": "use `let _ = ...` to ignore the expression or result",
+ "rendered": null,
+ "spans": [
+ {
+ "byte_end": 142,
+ "byte_start": 125,
+ "column_end": 26,
+ "column_start": 9,
+ "expansion": {
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 2,
+ "line_start": 2,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
+ },
+ "macro_decl_name": "foo!",
+ "span": {
+ "byte_end": 191,
+ "byte_start": 185,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 11,
+ "line_start": 11,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
+ }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": true,
+ "label": null,
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": "let _ = ",
+ "suggestion_applicability": "MaybeIncorrect",
+ "text": [
+ {
+ "highlight_end": 26,
+ "highlight_start": 9,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
+ },
+ {
+ "byte_end": 145,
+ "byte_start": 144,
+ "column_end": 29,
+ "column_start": 28,
+ "expansion": {
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 2,
+ "line_start": 2,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
+ },
+ "macro_decl_name": "foo!",
+ "span": {
+ "byte_end": 191,
+ "byte_start": 185,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 11,
+ "line_start": 11,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
+ }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": true,
+ "label": null,
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": "",
+ "suggestion_applicability": "MaybeIncorrect",
+ "text": [
+ {
+ "highlight_end": 29,
+ "highlight_start": 28,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "code": {
+ "code": "forgetting_references",
+ "explanation": null
+ },
+ "level": "warning",
+ "message": "calls to `std::mem::forget` with a reference instead of an owned value does nothing",
+ "rendered": "warning: calls to `std::mem::forget` with a reference instead of an owned value does nothing/n --> ./tests/everything/dedup-suggestions.rs:5:9/n |/n5 | std::mem::forget(&x);/n | ^^^^^^^^^^^^^^^^^--^/n | |/n | argument has type `&Box<i32>`/n.../n11 | foo!();/n | ------ in this macro invocation/n |/n = note: this warning originates in the macro `foo` (in Nightly builds, run with -Z macro-backtrace for more info)/nhelp: use `let _ = ...` to ignore the expression or result/n |/n5 - std::mem::forget(&x);/n5 + let _ = &x;/n |/n/n",
+ "spans": [
+ {
+ "byte_end": 144,
+ "byte_start": 142,
+ "column_end": 28,
+ "column_start": 26,
+ "expansion": {
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 2,
+ "line_start": 2,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
+ },
+ "macro_decl_name": "foo!",
+ "span": {
+ "byte_end": 191,
+ "byte_start": 185,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 11,
+ "line_start": 11,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
+ }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": "argument has type `&Box<i32>`",
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 28,
+ "highlight_start": 26,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
+ },
+ {
+ "byte_end": 145,
+ "byte_start": 125,
+ "column_end": 29,
+ "column_start": 9,
+ "expansion": {
+ "def_site_span": {
+ "byte_end": 73,
+ "byte_start": 57,
+ "column_end": 17,
+ "column_start": 1,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 2,
+ "line_start": 2,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 17,
+ "highlight_start": 1,
+ "text": "macro_rules! foo {"
+ }
+ ]
+ },
+ "macro_decl_name": "foo!",
+ "span": {
+ "byte_end": 191,
+ "byte_start": 185,
+ "column_end": 11,
+ "column_start": 5,
+ "expansion": null,
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": false,
+ "label": null,
+ "line_end": 11,
+ "line_start": 11,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 11,
+ "highlight_start": 5,
+ "text": " foo!();"
+ }
+ ]
+ }
+ },
+ "file_name": "./tests/everything/dedup-suggestions.rs",
+ "is_primary": true,
+ "label": null,
+ "line_end": 5,
+ "line_start": 5,
+ "suggested_replacement": null,
+ "suggestion_applicability": null,
+ "text": [
+ {
+ "highlight_end": 29,
+ "highlight_start": 9,
+ "text": " std::mem::forget(&x);"
+ }
+ ]
+ }
+ ]
+}
+{
+ "$message_type": "diagnostic",
+ "children": [],
"code": null,
"level": "warning",
- "spans": [],
- "children": [],
- "rendered": "warning: 2 warnings emitted\n\n"
-}
+ "message": "2 warnings emitted",
+ "rendered": "warning: 2 warnings emitted/n/n",
+ "spans": []
+}
\ No newline at end of file
diff --git a/crates/rustfix/tests/everything/dedup-suggestions.rs b/crates/rustfix/tests/everything/dedup-suggestions.rs
index cf19ff4..0c503a4 100644
--- a/crates/rustfix/tests/everything/dedup-suggestions.rs
+++ b/crates/rustfix/tests/everything/dedup-suggestions.rs
@@ -1,7 +1,8 @@
// See <https://github.com/rust-lang/cargo/issues/13027>
macro_rules! foo {
() => {
- &1;
+ let x = Box::new(1);
+ std::mem::forget(&x);
};
}
diff --git a/credential/cargo-credential-libsecret/Cargo.toml b/credential/cargo-credential-libsecret/Cargo.toml
index a691996..29b0b10 100644
--- a/credential/cargo-credential-libsecret/Cargo.toml
+++ b/credential/cargo-credential-libsecret/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "cargo-credential-libsecret"
-version = "0.5.0"
-rust-version = "1.87" # MSRV:1
+version = "0.5.1"
+rust-version = "1.88" # MSRV:1
edition.workspace = true
license.workspace = true
homepage.workspace = true
diff --git a/credential/cargo-credential-macos-keychain/Cargo.toml b/credential/cargo-credential-macos-keychain/Cargo.toml
index c15c1d1..8583da9 100644
--- a/credential/cargo-credential-macos-keychain/Cargo.toml
+++ b/credential/cargo-credential-macos-keychain/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "cargo-credential-macos-keychain"
-version = "0.4.15"
-rust-version = "1.87" # MSRV:1
+version = "0.4.16"
+rust-version = "1.88" # MSRV:1
edition.workspace = true
license.workspace = true
homepage.workspace = true
diff --git a/credential/cargo-credential-wincred/Cargo.toml b/credential/cargo-credential-wincred/Cargo.toml
index ba39b51..c9f11f8 100644
--- a/credential/cargo-credential-wincred/Cargo.toml
+++ b/credential/cargo-credential-wincred/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "cargo-credential-wincred"
-version = "0.4.15"
-rust-version = "1.87" # MSRV:1
+version = "0.4.16"
+rust-version = "1.88" # MSRV:1
edition.workspace = true
license.workspace = true
homepage.workspace = true
diff --git a/src/cargo/util/context/mod.rs b/src/cargo/util/context/mod.rs
index 93f5e7d..3560701 100644
--- a/src/cargo/util/context/mod.rs
+++ b/src/cargo/util/context/mod.rs
@@ -2632,6 +2632,7 @@
pub low_speed_limit: Option<u32>,
pub timeout: Option<u64>,
pub cainfo: Option<ConfigRelativePath>,
+ pub proxy_cainfo: Option<ConfigRelativePath>,
pub check_revoke: Option<bool>,
pub user_agent: Option<String>,
pub debug: Option<bool>,
diff --git a/src/cargo/util/network/http.rs b/src/cargo/util/network/http.rs
index 1b3af2d..c0d6d5f 100644
--- a/src/cargo/util/network/http.rs
+++ b/src/cargo/util/network/http.rs
@@ -61,6 +61,11 @@
let cainfo = cainfo.resolve_path(gctx);
handle.cainfo(&cainfo)?;
}
+ // Use `proxy_cainfo` if explicitly set; otherwise, fall back to `cainfo` as curl does #15376.
+ if let Some(proxy_cainfo) = http.proxy_cainfo.as_ref().or(http.cainfo.as_ref()) {
+ let proxy_cainfo = proxy_cainfo.resolve_path(gctx);
+ handle.proxy_cainfo(&format!("{}", proxy_cainfo.display()))?;
+ }
if let Some(check) = http.check_revoke {
handle.ssl_options(SslOpt::new().no_revoke(!check))?;
}
diff --git a/src/doc/src/CHANGELOG.md b/src/doc/src/CHANGELOG.md
index 8b088b7..d14d1d6 100644
--- a/src/doc/src/CHANGELOG.md
+++ b/src/doc/src/CHANGELOG.md
@@ -1,12 +1,35 @@
# Changelog
+## Cargo 1.90 (2025-09-18)
+[c24e1064...HEAD](https://github.com/rust-lang/cargo/compare/c24e1064...HEAD)
+
+### Added
+
+### Changed
+
+### Fixed
+
+- Expanded error messages around path dependency on `cargo package` and `cargo publish`
+ [#15705](https://github.com/rust-lang/cargo/pull/15705)
+
+### Nightly only
+
+- feat(toml): Parse support for multiple build scripts
+ [#15630](https://github.com/rust-lang/cargo/pull/15630)
+
+### Documentation
+
+### Internal
+
## Cargo 1.89 (2025-08-07)
-[873a0649...HEAD](https://github.com/rust-lang/cargo/compare/873a0649...HEAD)
+[873a0649...rust-1.89.0](https://github.com/rust-lang/cargo/compare/873a0649...rust-1.89.0)
### Added
- Add `*` and `?` pattern support for SSH known hosts matching.
[#15508](https://github.com/rust-lang/cargo/pull/15508)
+- Stabilize doctest-xcompile. Doctests will now automatically be tested when cross-compiling to a target that is different from the host, just like other tests.
+ [#15462](https://github.com/rust-lang/cargo/pull/15462)
### Changed
@@ -28,6 +51,28 @@
### Fixed
+- Fixed potential deadlock in `CacheState::lock`
+ [#15698](https://github.com/rust-lang/cargo/pull/15698)
+ [#15699](https://github.com/rust-lang/cargo/pull/15699)
+- Fixed the `--manifest-path` arg being ignored in `cargo fix`
+ [#15633](https://github.com/rust-lang/cargo/pull/15633)
+- When publishing, don't tell people to ctrl-c without knowing consequences.
+ [#15632](https://github.com/rust-lang/cargo/pull/15632)
+- Added missing `--offline` in shell completions.
+ [#15623](https://github.com/rust-lang/cargo/pull/15623)
+- cargo-credential-libsecret: load libsecret only once
+ [#15295](https://github.com/rust-lang/cargo/pull/15295)
+- When failing to find the mtime of a file for rebuild detection, report an explicit reason rather than "stale; unknown reason".
+ [#15617](https://github.com/rust-lang/cargo/pull/15617)
+- Fixed cargo add overwriting symlinked Cargo.toml files
+ [#15281](https://github.com/rust-lang/cargo/pull/15281)
+- Vendor files with .rej/.orig suffix
+ [#15569](https://github.com/rust-lang/cargo/pull/15569)
+- Vendor using direct extraction for registry sources. This should ensure that vendored files now always match the originals.
+ [#15514](https://github.com/rust-lang/cargo/pull/15514)
+- In the network retry message, use singular "try" for the last retry.
+ [#15328](https://github.com/rust-lang/cargo/pull/15328)
+
### Nightly only
- 🔥 `-Zno-embed-metadata`: This tells Cargo to pass the `-Zembed-metadata=no`
@@ -36,10 +81,43 @@
`.rmeta` files.
([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#no-embed-metadata))
[#15378](https://github.com/rust-lang/cargo/pull/15378)
+- 🔥 Plumb rustc `-Zhint-mostly-unused` flag through as a profile option
+ ([docs](https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#profile-hint-mostly-unused-option))
+ [#15643](https://github.com/rust-lang/cargo/pull/15643)
+- Added the "future" edition
+ [#15595](https://github.com/rust-lang/cargo/pull/15595)
+- Added `-Zfix-edition`
+ [#15596](https://github.com/rust-lang/cargo/pull/15596)
+- Added perma unstable `--compile-time-deps` option for `cargo build`
+ [#15674](https://github.com/rust-lang/cargo/pull/15674)
- `-Zscript`: Make cargo script ignore workspaces.
[#15496](https://github.com/rust-lang/cargo/pull/15496)
- `-Zpackage-workspace`: keep dev-dependencies if they have a version.
[#15470](https://github.com/rust-lang/cargo/pull/15470)
+- Added custom completer for `cargo remove <TAB>`
+ [#15662](https://github.com/rust-lang/cargo/pull/15662)
+- Test improvements in prep for `-Zpackage-workspace` stabilization
+ [#15628](https://github.com/rust-lang/cargo/pull/15628)
+- Allow packaging of self-cycles with `-Zpackage-workspace`
+ [#15626](https://github.com/rust-lang/cargo/pull/15626)
+- With trim-paths, remap all paths to `build.build-dir`
+ [#15614](https://github.com/rust-lang/cargo/pull/15614)
+- Enable more trim-paths tests for windows-msvc
+ [#15621](https://github.com/rust-lang/cargo/pull/15621)
+- Fix doc rebuild detection by passing `toolchain-shared-resources` to get doc styled for rustdoc-depinfo tracking
+ [#15605](https://github.com/rust-lang/cargo/pull/15605)
+- Resolve multiple bugs in frontmatter parser for `-Zscript`
+ [#15573](https://github.com/rust-lang/cargo/pull/15573)
+- Remove workaround for rustc frontmatter support for `-Zscript`
+ [#15570](https://github.com/rust-lang/cargo/pull/15570)
+- Allow configuring arbitrary codegen backends
+ [#15562](https://github.com/rust-lang/cargo/pull/15562)
+- skip `publish=false` pkg when publishing entire workspace for `-Zpackage-workspace`.
+ [#15525](https://github.com/rust-lang/cargo/pull/15525)
+- Update instructions on using native-completions
+ [#15480](https://github.com/rust-lang/cargo/pull/15480)
+- Skip registry check if its not needed with `-Zpackage-workspace`.
+ [#15629](https://github.com/rust-lang/cargo/pull/15629)
### Documentation
@@ -49,6 +127,14 @@
[#15478](https://github.com/rust-lang/cargo/pull/15478)
- home: update version notice for deprecation removal
[#15511](https://github.com/rust-lang/cargo/pull/15511)
+- docs(contrib): change clap URL to docs.rs/clap
+ [#15682](https://github.com/rust-lang/cargo/pull/15682)
+- Update links in contrib docs
+ [#15659](https://github.com/rust-lang/cargo/pull/15659)
+- docs: clarify `--all-features` not available for all commmands
+ [#15572](https://github.com/rust-lang/cargo/pull/15572)
+- docs(README): fix the link to the changelog in the Cargo book
+ [#15597](https://github.com/rust-lang/cargo/pull/15597)
### Internal
@@ -64,6 +150,37 @@
[#15498](https://github.com/rust-lang/cargo/pull/15498)
- Update dependencies.
[#15456](https://github.com/rust-lang/cargo/pull/15456)
+- refactor: replace InternedString with Cow in IndexPackage
+ [#15559](https://github.com/rust-lang/cargo/pull/15559)
+- Use `Not::not` rather than a custom `is_false` function
+ [#15645](https://github.com/rust-lang/cargo/pull/15645)
+- fix: Make UI tests handle hyperlinks consistently
+ [#15640](https://github.com/rust-lang/cargo/pull/15640)
+- Update dependencies
+ [#15635](https://github.com/rust-lang/cargo/pull/15635)
+ [#15557](https://github.com/rust-lang/cargo/pull/15557)
+- refactor: clean up `clippy::perf` lint warnings
+ [#15631](https://github.com/rust-lang/cargo/pull/15631)
+- chore(deps): update alpine docker tag to v3.22
+ [#15616](https://github.com/rust-lang/cargo/pull/15616)
+- chore: remove HTML comments in PR template and inline guide
+ [#15613](https://github.com/rust-lang/cargo/pull/15613)
+- Added .git-blame-ignore-revs
+ [#15612](https://github.com/rust-lang/cargo/pull/15612)
+- refactor: cleanup for `CompileMode`
+ [#15608](https://github.com/rust-lang/cargo/pull/15608)
+- refactor: separate "global" mode from CompileMode
+ [#15601](https://github.com/rust-lang/cargo/pull/15601)
+- chore: Upgrade schemars
+ [#15602](https://github.com/rust-lang/cargo/pull/15602)
+- Update gix & socket2
+ [#15600](https://github.com/rust-lang/cargo/pull/15600)
+- chore(toml): disable `toml`'s default features, unless necessary, to reduce cargo-util-schemas build time
+ [#15598](https://github.com/rust-lang/cargo/pull/15598)
+- chore(gh): Add new-lint issue template
+ [#15575](https://github.com/rust-lang/cargo/pull/15575)
+- Fix comment for cargo/core/compiler/fingerprint/mod.rs
+ [#15565](https://github.com/rust-lang/cargo/pull/15565)
## Cargo 1.88 (2025-06-26)
[a6c604d1...rust-1.88.0](https://github.com/rust-lang/cargo/compare/a6c604d1...rust-1.88.0)
@@ -117,6 +234,9 @@
as git status check is mostly informational.
[#15416](https://github.com/rust-lang/cargo/pull/15416)
[#15419](https://github.com/rust-lang/cargo/pull/15419)
+- Fixed `cargo rustc --bin` panicking on unknown bin names
+ [#15515](https://github.com/rust-lang/cargo/pull/15515)
+ [#15497](https://github.com/rust-lang/cargo/pull/15497)
### Nightly only
@@ -206,7 +326,6 @@
[#15193](https://github.com/rust-lang/cargo/pull/15193)
- Include the package name also in the target hint message.
[#15199](https://github.com/rust-lang/cargo/pull/15199)
- [#15497](https://github.com/rust-lang/cargo/pull/15497)
- cargo-add: collapse large feature lists
[#15200](https://github.com/rust-lang/cargo/pull/15200)
- cargo-vendor: Add context which workspace failed to resolve
diff --git a/src/doc/src/reference/config.md b/src/doc/src/reference/config.md
index 105de8f..420ff25 100644
--- a/src/doc/src/reference/config.md
+++ b/src/doc/src/reference/config.md
@@ -110,6 +110,7 @@
timeout = 30 # timeout for each HTTP request, in seconds
low-speed-limit = 10 # network timeout threshold (bytes/sec)
cainfo = "cert.pem" # path to Certificate Authority (CA) bundle
+proxy-cainfo = "cert.pem" # path to proxy Certificate Authority (CA) bundle
check-revoke = true # check for SSL certificate revocation
multiplexing = true # HTTP/2 multiplexing
user-agent = "…" # the user-agent header
@@ -746,6 +747,14 @@
Path to a Certificate Authority (CA) bundle file, used to verify TLS
certificates. If not specified, Cargo attempts to use the system certificates.
+#### `http.proxy-cainfo`
+* Type: string (path)
+* Default: falls back to `http.cainfo` if not set
+* Environment: `CARGO_HTTP_PROXY_CAINFO`
+
+Path to a Certificate Authority (CA) bundle file, used to verify proxy TLS
+certificates.
+
#### `http.check-revoke`
* Type: boolean
* Default: true (Windows) false (all others)
diff --git a/src/doc/src/reference/environment-variables.md b/src/doc/src/reference/environment-variables.md
index ae29e6f..9d27afa 100644
--- a/src/doc/src/reference/environment-variables.md
+++ b/src/doc/src/reference/environment-variables.md
@@ -106,6 +106,7 @@
* `CARGO_HTTP_PROXY` --- Enables HTTP proxy, see [`http.proxy`].
* `CARGO_HTTP_TIMEOUT` --- The HTTP timeout, see [`http.timeout`].
* `CARGO_HTTP_CAINFO` --- The TLS certificate Certificate Authority file, see [`http.cainfo`].
+* `CARGO_HTTP_PROXY_CAINFO` --- The proxy TLS certificate Certificate Authority file, see [`http.proxy-cainfo`].
* `CARGO_HTTP_CHECK_REVOKE` --- Disables TLS certificate revocation checks, see [`http.check-revoke`].
* `CARGO_HTTP_SSL_VERSION` --- The TLS version to use, see [`http.ssl-version`].
* `CARGO_HTTP_LOW_SPEED_LIMIT` --- The HTTP low-speed limit, see [`http.low-speed-limit`].
@@ -173,6 +174,7 @@
[`http.proxy`]: config.md#httpproxy
[`http.timeout`]: config.md#httptimeout
[`http.cainfo`]: config.md#httpcainfo
+[`http.proxy-cainfo`]: config.md#httpproxy-cainfo
[`http.check-revoke`]: config.md#httpcheck-revoke
[`http.ssl-version`]: config.md#httpssl-version
[`http.low-speed-limit`]: config.md#httplow-speed-limit
diff --git a/tests/testsuite/build_script.rs b/tests/testsuite/build_script.rs
index c621702..1d49d14 100644
--- a/tests/testsuite/build_script.rs
+++ b/tests/testsuite/build_script.rs
@@ -5602,17 +5602,14 @@
"#]])
.run();
- // Remove check once 1.88 is stable
- if cargo_test_support::is_nightly() {
- p.cargo("test --workspace --doc --target")
- .arg(&target)
- .with_stdout_data(str![[r#"
+ p.cargo("test --workspace --doc --target")
+ .arg(&target)
+ .with_stdout_data(str![[r#"
...
test foo/src/lib.rs - (line 2) ... ok
...
"#]])
- .run();
- }
+ .run();
}
#[cargo_test]
diff --git a/tests/testsuite/cross_compile.rs b/tests/testsuite/cross_compile.rs
index 22cc0ca..c4ad409 100644
--- a/tests/testsuite/cross_compile.rs
+++ b/tests/testsuite/cross_compile.rs
@@ -1136,10 +1136,7 @@
.run();
}
-#[cargo_test(
- nightly,
- reason = "waiting for 1.88 to be stable for doctest xcompile flags"
-)]
+#[cargo_test]
fn doctest_xcompile_linker() {
if cross_compile_disabled() {
return;
diff --git a/tests/testsuite/fix.rs b/tests/testsuite/fix.rs
index 50ec09d..dd8369d 100644
--- a/tests/testsuite/fix.rs
+++ b/tests/testsuite/fix.rs
@@ -2410,7 +2410,8 @@
r#"
macro_rules! foo {
() => {
- &1;
+ let x = Box::new(1);
+ std::mem::forget(&x);
};
}
@@ -2438,7 +2439,8 @@
macro_rules! foo {
() => {
- let _ = &1;
+ let x = Box::new(1);
+ let _ = &x;
};
}
diff --git a/tests/testsuite/global_cache_tracker.rs b/tests/testsuite/global_cache_tracker.rs
index a42e054..70bb357 100644
--- a/tests/testsuite/global_cache_tracker.rs
+++ b/tests/testsuite/global_cache_tracker.rs
@@ -1987,11 +1987,9 @@
middle = "1.0"
"#,
);
- // TODO: Remove -Zgc after 1.82 is stabilized.
rustup_cargo()
- .args(&["+stable", "check", "-Zgc"])
+ .args(&["+stable", "check"])
.cwd(p.root())
- .masquerade_as_nightly_cargo(&["gc"])
.env("__CARGO_TEST_LAST_USE_NOW", months_ago_unix(2))
.run();
assert_eq!(get_registry_names("src"), ["middle-1.0.0", "new-1.0.0"]);
diff --git a/tests/testsuite/test.rs b/tests/testsuite/test.rs
index 099a2bc..b2d4b05 100644
--- a/tests/testsuite/test.rs
+++ b/tests/testsuite/test.rs
@@ -4742,10 +4742,7 @@
.run();
}
-#[cargo_test(
- nightly,
- reason = "waiting for 1.88 to be stable for doctest xcompile flags"
-)]
+#[cargo_test]
fn cargo_test_doctest_xcompile_ignores() {
// Check ignore-TARGET syntax.
let p = project()
@@ -4782,10 +4779,7 @@
.run();
}
-#[cargo_test(
- nightly,
- reason = "waiting for 1.88 to be stable for doctest xcompile flags"
-)]
+#[cargo_test]
fn cargo_test_doctest_xcompile_runner() {
if !cross_compile_can_run_on_host() {
return;
@@ -4868,10 +4862,7 @@
.run();
}
-#[cargo_test(
- nightly,
- reason = "waiting for 1.88 to be stable for doctest xcompile flags"
-)]
+#[cargo_test]
fn cargo_test_doctest_xcompile_no_runner() {
if !cross_compile_can_run_on_host() {
return;