Skip to content

Conversation

@ranger-ross
Copy link
Member

@ranger-ross ranger-ross commented Nov 27, 2025

What does this PR try to resolve?

This PR un-reverts the changes from #16230 as well as adds a bug fix for a crash reported in #16297

Note: The bug fix relies on behavior in the reverted code, so I added that back before the bug fix

How to test and review this PR?

I added a new check test that verifies the existing behavior (crash) and is updated to verify no files are added to the target dir with no crash.

r? @epage
cc: @stewartadam (thanks, again for the bug report)

Fixes #16305

@rustbot rustbot added A-layout Area: target output directory layout, naming, and organization Command-clean S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 27, 2025
@epage epage added this pull request to the merge queue Dec 1, 2025
Merged via the queue into rust-lang:master with commit 2a1789f Dec 1, 2025
26 checks passed
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 1, 2025
bors added a commit to rust-lang/rust that referenced this pull request Dec 3, 2025
Update cargo submodule

14 commits in 2a7c4960677971f88458b0f8b461a866836dff59..bd979347d814dfe03bba124165dbce9554d0b4d8
2025-11-25 19:58:07 +0000 to 2025-12-02 16:03:50 +0000
- fix(completion): Put host-tuple before actual tuples (rust-lang/cargo#16327)
- fix(lints): use plural form correctly (rust-lang/cargo#16324)
- fix(completions): include `all` in `cargo tree --target` candidates (rust-lang/cargo#16322)
- fix(lints): show lint error number (rust-lang/cargo#16320)
- chore(deps): update compatible (rust-lang/cargo#16318)
- chore(deps): update crate-ci/typos action to v1.40.0 (rust-lang/cargo#16316)
- Do not lock the artifact-dir for check builds + fix uplifting (rust-lang/cargo#16307)
- Properly validate crate names in `cargo install` (rust-lang/cargo#16314)
- Support --filter-platform=host for cargo metadata rust-lang/cargo#9423 (rust-lang/cargo#16312)
- Update to mdbook 0.5 (rust-lang/cargo#16292)
- refactor(clean): Better divide old / new layout (rust-lang/cargo#16304)
- update: silent failure on non-matching package specs with --breaking (rust-lang/cargo#16276)
- fix(log): break timing-info message to multiple (rust-lang/cargo#16303)
- fix(clean): Clean hosts builds with new layout (rust-lang/cargo#16300)
@rustbot rustbot added this to the 1.93.0 milestone Dec 3, 2025
github-merge-queue bot pushed a commit that referenced this pull request Dec 3, 2025
### What does this PR try to resolve?

Previously if rustc version mismatches,
Cargo removes all `doc` directories including target platforms that are
not part of the build.

This PR makes it `--target` aware and stops excessive cleanup,
by putting `.rustdoc_fingerprint.json` in each target platform
directory.

### How to test and review this PR?

I'd like to reuse this file to track doc parts directories in
<#16309>,
and noticed that this file is for the entire workspace rather than
per-target,
hich is not compatible with mergeable cross-crate info JSONs.

For concurrent safety,
`build-dir` should be locked already since Cargo locks every intent
except check (see <#16307>).
This file is touched only under `UserIntent::Doc`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-layout Area: target output directory layout, naming, and organization Command-clean

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cargo check uplifts dylibs to artifact-dir when proc-macro depends on dylib

3 participants