20211 Commits

Author SHA1 Message Date
Eric Huss
d36c0aeed0 Update changelog for 1.89 2025-06-27 08:19:34 -07:00
Eric Huss
a87ddb2dc7 Bump to 0.91.0 2025-06-27 08:17:07 -07:00
Ed Page
bf2678937d
chore(deps): update msrv (1 version) to v1.88 (#15706)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [MSRV:1](https://redirect.github.com/rust-lang/rust) | minor | `1.87`
-> `1.88` |

---

### Release Notes

<details>
<summary>rust-lang/rust (MSRV:1)</summary>

###
[`v1.88`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1880-2025-06-26)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.87.0...1.88.0)

\==========================

<a id="1.88.0-Language"></a>

## Language

- [Stabilize `#![feature(let_chains)]` in the 2024
edition.](https://redirect.github.com/rust-lang/rust/pull/132833)
This feature allows `&&`-chaining `let` statements inside `if` and
`while`, allowing intermixture with boolean expressions. The patterns
inside the `let` sub-expressions can be irrefutable or refutable.
- [Stabilize
`#![feature(naked_functions)]`.](https://redirect.github.com/rust-lang/rust/pull/134213)
Naked functions allow writing functions with no compiler-generated
epilogue and prologue, allowing full control over the generated assembly
for a particular function.
- [Stabilize
`#![feature(cfg_boolean_literals)]`.](https://redirect.github.com/rust-lang/rust/pull/138632)
This allows using boolean literals as `cfg` predicates, e.g.
`#[cfg(true)]` and `#[cfg(false)]`.
- [Fully de-stabilize the `#[bench]`
attribute](https://redirect.github.com/rust-lang/rust/pull/134273).
Usage of `#[bench]` without `#![feature(custom_test_frameworks)]`
already triggered a deny-by-default future-incompatibility lint since
Rust 1.77, but will now become a hard error.
- [Add warn-by-default `dangerous_implicit_autorefs` lint against
implicit autoref of raw pointer
dereference.](https://redirect.github.com/rust-lang/rust/pull/123239)
The lint [will be bumped to
deny-by-default](https://redirect.github.com/rust-lang/rust/pull/141661)
in the next version of Rust.
- [Add `invalid_null_arguments` lint to prevent invalid usage of null
pointers.](https://redirect.github.com/rust-lang/rust/pull/119220)
  This lint is uplifted from `clippy::invalid_null_ptr_usage`.
- [Change trait impl candidate preference for builtin impls and trivial
where-clauses.](https://redirect.github.com/rust-lang/rust/pull/138176)
- [Check types of generic const parameter
defaults](https://redirect.github.com/rust-lang/rust/pull/139646)

<a id="1.88.0-Compiler"></a>

## Compiler

- [Stabilize `-Cdwarf-version` for selecting the version of DWARF debug
information to
generate.](https://redirect.github.com/rust-lang/rust/pull/136926)

<a id="1.88.0-Platform-Support"></a>

## Platform Support

- [Demote `i686-pc-windows-gnu` to Tier
2.](https://blog.rust-lang.org/2025/05/26/demoting-i686-pc-windows-gnu/)

Refer to Rust's [platform support page][platform-support-doc]
for more information on Rust's tiered platform support.

[platform-support-doc]:
https://doc.rust-lang.org/rustc/platform-support.html

<a id="1.88.0-Libraries"></a>

## Libraries

- [Remove backticks from `#[should_panic]` test failure
message.](https://redirect.github.com/rust-lang/rust/pull/136160)
- [Guarantee that `[T; N]::from_fn` is generated in order of increasing
indices.](https://redirect.github.com/rust-lang/rust/pull/139099), for
those passing it a stateful closure.
- [The libtest flag `--nocapture` is deprecated in favor of the more
consistent `--no-capture`
flag.](https://redirect.github.com/rust-lang/rust/pull/139224)
- [Guarantee that `{float}::NAN` is a quiet
NaN.](https://redirect.github.com/rust-lang/rust/pull/139483)

<a id="1.88.0-Stabilized-APIs"></a>

## Stabilized APIs

-
[`Cell::update`](https://doc.rust-lang.org/stable/std/cell/struct.Cell.html#method.update)
- [`impl Default for *const
T`](https://doc.rust-lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*const+T)
- [`impl Default for *mut
T`](https://doc.rust-lang.org/nightly/std/primitive.pointer.html#impl-Default-for-*mut+T)
-
[`HashMap::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.HashMap.html#method.extract_if)
-
[`HashSet::extract_if`](https://doc.rust-lang.org/stable/std/collections/struct.HashSet.html#method.extract_if)
-
[`proc_macro::Span::line`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.line)
-
[`proc_macro::Span::column`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.column)
-
[`proc_macro::Span::start`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.start)
-
[`proc_macro::Span::end`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.end)
-
[`proc_macro::Span::file`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.file)
-
[`proc_macro::Span::local_file`](https://doc.rust-lang.org/stable/proc_macro/struct.Span.html#method.local_file)

These previously stable APIs are now stable in const contexts:

-
[`NonNull<T>::replace`](https://doc.rust-lang.org/stable/std/ptr/struct.NonNull.html#method.replace)
- [`<*mut
T>::replace`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.replace)
-
[`std::ptr::swap_nonoverlapping`](https://redirect.github.com/rust-lang/rust/pull/137280)
- [`Cell::{replace, get, get_mut, from_mut,
as_slice_of_cells}`](https://redirect.github.com/rust-lang/rust/pull/137928)

<a id="1.88.0-Cargo"></a>

## Cargo

- [Stabilize automatic garbage
collection.](https://redirect.github.com/rust-lang/cargo/pull/14287/)
- [use `zlib-rs` for gzip compression in rust
code](https://redirect.github.com/rust-lang/cargo/pull/15417/)

<a id="1.88.0-Rustdoc"></a>

## Rustdoc

- [Doctests can be ignored based on target names using `ignore-*`
attributes.](https://redirect.github.com/rust-lang/rust/pull/137096)
- [Stabilize the `--test-runtool` and `--test-runtool-arg` CLI options
to specify a program (like qemu) and its arguments to run a
doctest.](https://redirect.github.com/rust-lang/rust/pull/137096)

<a id="1.88.0-Compatibility-Notes"></a>

## Compatibility Notes

- [Finish changing the internal representation of pasted
tokens](https://redirect.github.com/rust-lang/rust/pull/124141). Certain
invalid declarative macros that were previously accepted in obscure
circumstances are now correctly rejected by the compiler. Use of a `tt`
fragment specifier can often fix these macros.
- [Fully de-stabilize the `#[bench]`
attribute](https://redirect.github.com/rust-lang/rust/pull/134273).
Usage of `#[bench]` without `#![feature(custom_test_frameworks)]`
already triggered a deny-by-default future-incompatibility lint since
Rust 1.77, but will now become a hard error.
- [Fix borrow checking some always-true
patterns.](https://redirect.github.com/rust-lang/rust/pull/139042)
The borrow checker was overly permissive in some cases, allowing
programs that shouldn't have compiled.
- [Update the minimum external LLVM to
19.](https://redirect.github.com/rust-lang/rust/pull/139275)
- [Make it a hard error to use a vector type with a non-Rust ABI without
enabling the required target
feature.](https://redirect.github.com/rust-lang/rust/pull/139309)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
2025-06-27 13:34:12 +00:00
Ed Page
0b611990f4 style: Use inlined format args 2025-06-26 16:40:32 -05:00
Ed Page
e5987ea9b6 chore: Bump versions 2025-06-26 16:38:16 -05:00
renovate[bot]
e6740738a8
chore(deps): update msrv (1 version) to v1.88 2025-06-26 19:55:27 +00:00
Ed Page
4ac865d3d7
Rework cargo-test-support & testsuite to use CARGO_BIN_EXE_* for Cargo (#15692)
### What does this PR try to resolve?

This PR reworks `cargo-test-support` and `testsuite` to use Snapbox's
[`cargo_bin!()`](https://docs.rs/snapbox/latest/snapbox/cmd/macro.cargo_bin.html)
instead of
[`cargo_bin()`](https://docs.rs/snapbox/latest/snapbox/cmd/fn.cargo_bin.html)
which makes assumptions about the structure of Cargo's build directory.
`cargo_bin!()` uses `CARGO_BIN_EXE_*` for locating the `cargo` binary
which should be more resilient to directory/layout changes.

Linking a relevant Zulip discussion
[here](https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/cargo_bin_exe.20and.20tests/with/513638220)[#t-cargo
> cargo_bin_exe and
tests](https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/cargo_bin_exe.20and.20tests/with/513638220)

As shown in that link, we could make these variables available at
runtime and not need to do this. However, `cargo-test-support`, as an
API, is a bit weird in that it is baking in support for one specific
binary. This can be confusing for callers and makes it more annoying for
callers provide their own `fn cargo`, e.g. see crate-ci/cargo-fixit#7

### Implementation Notes

`cargo_bin!()` only works when being called from the `testsuite` as it's
only set when executing integration tests and `cargo-test-support` is a
regular crate.
To make this change, I introduced an extension trait `CargoProjectExt`
in `testsuite` for running `.cargo()` and implemented it on `Project`.

In `cargo-test-support` other functionality relies on `.cargo()` so
these also needed to be moved to `testsuite`
*
[`src/tools.rs`](https://github.com/rust-lang/cargo/blob/master/crates/cargo-test-support/src/tools.rs)
* Parts
[`src/cross_compile`](https://github.com/rust-lang/cargo/blob/master/crates/cargo-test-support/src/cross_compile.rs)
* I had to split this up unfortunately, as `disabled()` requires running
Cargo to check if we should disable cross compile tests.
* Other fns in `cross_compile` are used in `cargo-test-support` so
moving everything to `testsuite` would have ended up requiring moving
many things to test suite.

### How to test and review this PR?

I'd definitely recommend reviewing commit by commit.
There are a lot of diffs due to the nature of reorganizing things.
I did my best to split things things into smaller PRs but they still
contain a lot of `use` statement diffs.

r? @epage
2025-06-26 15:21:51 +00:00
Ed Page
7388d86d28
fix: Expand error messages around path dependency on cargo package and cargo publish (#15705)
fix #15607.

### What does this PR try to resolve?

Current error message about path/git dependency being inside manifest on
`cargo package` and `cargo publish` lacks some information and it can be
confusing. This PR adds some context on which manifest error originates
from, so that users can understand the exact cause of the error cargo
reports.
2025-06-26 11:53:26 +00:00
motorailgun
8f4ae79cb5 fix: Expand error messages around path dependency on cargo package and cargo publish 2025-06-26 02:53:54 +00:00
Ross Sullivan
02b56d4d22
docs: Updated test docs with updated prelude and utils 2025-06-25 23:18:08 +09:00
Ross Sullivan
30b6707135
chore: Moved remaining cargo_exe logic to testsuite 2025-06-25 23:18:08 +09:00
Ross Sullivan
15f755cefd
chore: Created CargoProjectExt extention trait 2025-06-25 23:18:00 +09:00
Ross Sullivan
92d9a94d02
chore: Migrated testsuite to testsuite::prelude 2025-06-25 22:37:24 +09:00
Ross Sullivan
66fc1055a7
chore: Created testsuite prelude 2025-06-25 22:29:12 +09:00
Ross Sullivan
47312c446d
chore: Moved tools and some cross compiling logic into testsuite 2025-06-24 23:51:39 +09:00
Ed Page
409fed7dc1
Fix potential deadlock in CacheState::lock (#15698)
This PR fixes a potential source of deadlock in the `CacheState::lock`
function
([here](84709f0850/src/cargo/util/cache_lock.rs (L411))),
as explained below.

I ran into this deadlock while testing Dylint. For example, in [this
GitHub
run](https://github.com/trailofbits/dylint/actions/runs/15570922048),
two jobs were killed after running for six hours. This fix seems to
resolve the deadlock (e.g., see [this
run](https://github.com/trailofbits/dylint/actions/runs/15822570315),
which [uses the
fix](https://github.com/trailofbits/dylint/actions/runs/15822570315/workflow#L119-L132)).

Until this fix (or a similar one) appears in `rustup`-installable Cargo,
is there an easy workaround?

---

A `CacheState` struct holds [two recursive
locks](84709f0850/src/cargo/util/cache_lock.rs (L347-L357)):
`mutate_lock` and `cache_lock`.

When `MutateExclusive` is passed to `CacheState::lock`, it tries to
acquire both locks. First, it tries to acquire `mutate_lock`, then it
tries to acquire `cache_lock`.

The problematic case is when it acquires the first, but not the second.

Note that if the second cannot be acquired because of an error, the
`mutate_lock` recursive lock is decremented:
84709f0850/src/cargo/util/cache_lock.rs (L412-L415)

However, if the second would simply block, `LockingResult::WouldBlock`
is returned.

`CacheState::lock` is called from two places. One of those locations is
in `CacheLocker::try_lock`:[^1]
84709f0850/src/cargo/util/cache_lock.rs (L502-L506)

Note that `CacheLocker::try_lock` creates a
[`CacheLock`](84709f0850/src/cargo/util/cache_lock.rs (L427-L430))
if and only if `LockingResult::LockAcquired` is returned.

Furthermore, when a `CacheLock` is dropped, it decrements both
`mutate_lock` and `cache_lock`:
84709f0850/src/cargo/util/cache_lock.rs (L443-L446)

A scan of `cache_lock.rs` shows that there are only three places[^2]
where `mutate_lock.decrement()` is called: the error location in
`CacheState::lock` (referenced above), and two places in
`CacheLock::drop`.

Thus, if `LockingResult::WouldBlock` is returned from
`CacheState::lock`, `mutate_lock` is never decremented.

[^1]: The other location is in `CacheLocker::lock`, which calls
`CacheState::lock` with `BlockingMode::Blocking`. For that reason,
`CacheLocker::lock` should not return `WouldBlock` when called from this
location.
[^2]:
84709f0850/src/cargo/util/cache_lock.rs (L413),
84709f0850/src/cargo/util/cache_lock.rs (L438),
and
84709f0850/src/cargo/util/cache_lock.rs (L445)
2025-06-23 15:55:04 +00:00
Ed Page
f94409aec8
feat(toml): Parse support for multiple build scripts (#15630)
Hi Everyone!

This is PR for the manifest parsing of the first milestone of [GSoC
Project : Build Script
Delegation](https://summerofcode.withgoogle.com/programs/2025/projects/nUt4PdAA)

### What does this PR try to resolve?

Currently, just a single build script is allowed for each package. This
PR will allow users to create and use multiple build scripts, and is
backward compatible with single script as well as boolean values.

**Motivation :** This will help users to maintain separate smaller and
cleaner build scripts instead of one large build script. This is also
necessary for build script delegation.

**Open questions:**
- What should the build script target names be?
- Currently they use the file stem of the build script which could run
into conflicts

**Known Issues:**
- This is just parsing support, and currently, only the first build
script of the array is actually executed.

### How to test and review this PR?

There is a feature gate `multiple-build-scripts` that can be passed via
`cargo-features` in `Cargo.toml`. So, you have to add
```toml
cargo-features = ["multiple-build-scripts"]
```
Preferably on the top of the `Cargo.toml` and use nightly toolchain to
use the feature

**This PR is ready to be reviewed and merged**
2025-06-23 14:28:48 +00:00
Naman Garg
5c7f68fe5d
Add multi-build script support to cargo vendor 2025-06-23 19:14:41 +05:30
Naman Garg
21c2f1615d
Add multi-build script support to cargo publish 2025-06-23 19:14:40 +05:30
Naman Garg
68429eb381
Attach all build scripts to the target 2025-06-23 19:14:38 +05:30
Naman Garg
a9d5cb8abe
Add MultipleScript (error on stable, error about not implemented on nightly) 2025-06-23 19:14:37 +05:30
Naman Garg
db8dbaf3ed
Add initial tests for multiple build scripts (not implemented yet) 2025-06-23 19:14:36 +05:30
Naman Garg
126b3a18c1
Refactor normalized_build to accept slice instead of string 2025-06-23 19:14:35 +05:30
Naman Garg
92b00aefc3
Fork StringOrBool into new TomlPackageBuild type and update manifest.schema.json 2025-06-23 19:14:33 +05:30
Naman Garg
79730837cb
Add feature gate for multiple build scripts 2025-06-23 19:14:32 +05:30
Naman Garg
93fd488f94
Rename readme variable to build 2025-06-23 19:14:30 +05:30
Samuel Moelius
0b362e320e Fix potential deadlock in CacheState::lock 2025-06-23 06:17:04 -04:00
Weihang Lo
84709f0850
Bump cargo-util-schemas version (#15696)
https://github.com/rust-lang/cargo/pull/15643 introduced a semver
breaking change by adding a new pub field to `TomlProfile`.
2025-06-22 23:58:39 +00:00
Eric Huss
0c59ee9009 Bump cargo-util-schemas version
https://github.com/rust-lang/cargo/pull/15643 introduced a semver
breaking change by adding a new pub field to `TomlProfile`.
2025-06-22 15:54:29 -07:00
Eric Huss
4832e11629
test(msrv): use a far future "newer" version (#15693)
Two tests were using `.rust_version("1.90.0")` for a "newer" Rust, but
this failed in rust-lang/rust#142792 for the start of the *real* 1.90.0.
Let's bump that to 1.999.0 so we won't have to deal with it for a while.
2025-06-22 22:39:20 +00:00
Josh Stone
d97bf418d9 test(msrv): use a far future "newer" version
Two tests were using `.rust_version("1.90.0")` for a "newer" Rust, but
this failed in rust-lang/rust#142792 for the start of the *real* 1.90.0.
Let's bump that to 1.999.0 so we won't have to deal with it for a while.
2025-06-22 12:05:40 -07:00
Ed Page
0731d176ad
Plumb rustc -Zhint-mostly-unused flag through as a profile option (#15643)
The rustc `-Zhint-mostly-unused` flag tells rustc that most of a crate
will go unused. This is useful for speeding up compilation of large
dependencies from which you only use a few items. Plumb that option
through as a profile option, to allow specifying it for specific
dependencies:

```toml
[profile.dev.package.huge-mostly-unused-dependency]
hint-mostly-unused = true
```

To enable this feature, pass `-Zprofile-hint-mostly-unused`. However,
since this option is a hint, using it without passing
`-Zprofile-hint-mostly-unused` will only warn and ignore the profile
option. Versions of Cargo prior to the introduction of this feature will
give an "unused manifest key" warning, but will otherwise function
without erroring. This allows using the hint in a crate's `Cargo.toml`
without mandating the use of a newer Cargo to build it.

Add a test verifying that the profile option gets ignored with a warning
without passing `-Zprofile-hint-mostly-unused`, and another test
verifying that it gets handled when passing
`-Zprofile-hint-mostly-unused`.

### How to test and review this PR?

The tests in the testsuite demonstrate both that the option works as
expected and that it gets ignored with a warning if not passing
`-Zprofile-hint-mostly-unused`.

This will remain a draft until
https://github.com/rust-lang/rust/pull/135656 gets merged in rustc; once
that happens, the "nightly" jobs will pass in CI.
2025-06-20 23:01:05 +00:00
Josh Triplett
3315a60762 Add table-of-contents link to the hint-mostly-unused section 2025-06-20 15:16:03 -07:00
Josh Triplett
dd183e0338 Test hint-mostly-unused with check rather than build 2025-06-20 15:16:03 -07:00
Josh Triplett
36480ce012 Plumb rustc -Zhint-mostly-unused flag through as a profile option
The rustc `-Zhint-mostly-unused` flag tells rustc that most of a crate
will go unused. This is useful for speeding up compilation of large
dependencies from which you only use a few items. Plumb that option
through as a profile option, to allow specifying it for specific
dependencies:

```toml
[profile.dev.package.huge-mostly-unused-dependency]
hint-mostly-unused = true
```

To enable this feature, pass `-Zprofile-hint-mostly-unused`. However,
since this option is a hint, using it without passing
`-Zprofile-hint-mostly-unused` will only warn and ignore the profile
option. Versions of Cargo prior to the introduction of this feature will
give an "unused manifest key" warning, but will otherwise function
without erroring. This allows using the hint in a crate's `Cargo.toml`
without mandating the use of a newer Cargo to build it.

Add a test verifying that the profile option gets ignored with a warning
without passing `-Zprofile-hint-mostly-unused`, and another test
verifying that it gets handled when passing
`-Zprofile-hint-mostly-unused`.
2025-06-20 15:16:03 -07:00
Ed Page
8789c2b757
Disable lldb test, which seems to be broken due to issues with lldb (#15687)
r? @weihanglo
2025-06-20 14:15:04 +00:00
Josh Triplett
0419be8eae Disable cdb test, which seems to be broken 2025-06-20 02:21:46 -07:00
Josh Triplett
4cfa4b0c60 Disable lldb test, which seems to be broken due to issues with lldb 2025-06-20 01:43:22 -07:00
Ed Page
00132f31fd
docs(contrib): change clap URL to docs.rs/clap (#15682)
### What does this PR try to resolve?

The current [subcommands
page](https://doc.crates.io/contrib/implementation/subcommands.html) in
Cargo contrib guide links clap to https://clap.rs, which doesn't exist.
This PR updates that link to https://docs.rs/clap, which is the URL
mentioned in [clap's repository](https://github.com/clap-rs/clap)

### How to test and review this PR?
2025-06-19 11:17:47 +00:00
secona
9b0d02d57d docs(contrib): change clap URL to docs.rs/clap 2025-06-19 16:20:17 +07:00
Ed Page
0b974c06c6
feat: Introduce perma unstable --compile-time-deps option for cargo build (#15674)
Resolves #14434
2025-06-19 00:59:15 +00:00
Shoyu Vanilla
072b345bbf feat(compile-time-deps): Add cli flag --compile-time-deps and adjust docs 2025-06-19 09:09:32 +09:00
Shoyu Vanilla
5b178a8d05 feat(compile-time-deps): Implement non compile time deps filtering 2025-06-19 09:09:32 +09:00
Shoyu Vanilla
d253d12122 test(compile-time-deps): Add tests for --compile-time-deps 2025-06-19 09:09:32 +09:00
Ed Page
18729550bd
fix: Failing tests on rustc nightly (#15679)
Fixes #15678
2025-06-18 17:20:31 +00:00
Shoyu Vanilla
da332544bc fix: Failing tests on rustc nightly 2025-06-19 01:05:01 +09:00
Ed Page
2251525ae5
feat: Add custom completer for cargo remove <TAB> (#15662)
fix #15656

### What does this PR try to resolve?

This PR implements custom TAB completer for cargo remove <package_name>.

### How to test and review this PR?

This patch works like this:

```console
$ cat Cargo.toml
[package]
name = "sandbox"
version = "0.1.0"
edition = "2024"

[dependencies]
rand = "0.9.1"
serde_json = "1"

$ ~/cargo/target/debug/cargo remove
completing values
--build          -- Remove from build-dependencies
--color          -- Coloring
--config         -- Override a configuration value
--dev            -- Remove from dev-dependencies
--dry-run        -- Don't actually write the manifest
--frozen         -- Equivalent to specifying both --locked and --offline
--help           -- Print help
--locked         -- Assert that `Cargo.lock` will remain unchanged
--lockfile-path  -- Path to Cargo.lock (unstable)
--manifest-path  -- Path to Cargo.toml
--offline        -- Run without accessing the network
--package        -- Package to remove from
--quiet          -- Do not print cargo log messages
--target         -- Remove from target-dependencies
--verbose        -- Use verbose output (-vv very verbose/build.rs output)
-Z               -- Unstable (nightly-only) flags to Cargo, see 'cargo -Z help' for details
rand        serde_json

```

(on zsh)
2025-06-16 22:01:27 +00:00
motorailgun
72e90fa963 feat: Add custom completer for cargo remove <TAB> 2025-06-16 21:26:27 +00:00
Ed Page
1d71929823
chore(deps): update msrv (3 versions) to v1.85 (#15668)
This PR contains the following updates:

| Package | Update | Change | Pending |
|---|---|---|---|
| [MSRV:3](https://redirect.github.com/rust-lang/rust) | minor | `1.84`
-> `1.85` | `1.87` (+1) |

---

### Release Notes

<details>
<summary>rust-lang/rust (MSRV:3)</summary>

###
[`v1.85`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1851-2025-03-18)

[Compare
Source](https://redirect.github.com/rust-lang/rust/compare/1.84.0...1.85.0)

\==========================

<a id="1.85.1"></a>

- [Fix the doctest-merging feature of the 2024
Edition.](https://redirect.github.com/rust-lang/rust/pull/137899/)
- [Relax some `target_feature` checks when generating
docs.](https://redirect.github.com/rust-lang/rust/pull/137632/)
- [Fix errors in `std::fs::rename` on Windows 10, version
1607.](https://redirect.github.com/rust-lang/rust/pull/137528/)
- [Downgrade bootstrap `cc` to fix custom
targets.](https://redirect.github.com/rust-lang/rust/pull/137460/)
- [Skip submodule updates when building Rust from a source
tarball.](https://redirect.github.com/rust-lang/rust/pull/137338/)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Every minute ( * * * * * ) (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/rust-lang/cargo).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC41MC4wIiwidXBkYXRlZEluVmVyIjoiNDAuNTAuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
2025-06-16 13:53:01 +00:00
renovate[bot]
9d05224480
chore(deps): update msrv (3 versions) to v1.85 2025-06-16 06:28:30 +00:00