Skip to content

Update cargo submodule - #161789

Open
weihanglo wants to merge 1 commit into
rust-lang:mainfrom
weihanglo:update-cargo
Open

Update cargo submodule#161789
weihanglo wants to merge 1 commit into
rust-lang:mainfrom
weihanglo:update-cargo

Conversation

@weihanglo

@weihanglo weihanglo commented Aug 25, 2026

Copy link
Copy Markdown
Member

View all comments

23 commits in e8cb624d5701824f46a2ec5873cfd59ee3d2f66c..3167045fceb698d70e0de548779088178e2bc10a
2026-08-22 00:23:45 +0000 to 2026-09-01 13:26:17 +0000

@weihanglo weihanglo self-assigned this Aug 25, 2026
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 25, 2026
@rustbot

rustbot commented Aug 25, 2026

Copy link
Copy Markdown
Collaborator

⚠️ Warning ⚠️

@weihanglo

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=1

@rust-bors

rust-bors Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 96c36b7 has been approved by weihanglo

It is now in the queue for this repository.

@rust-bors rust-bors Bot added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 26, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 26, 2026
Update cargo submodule

7 commits in e8cb624d5701824f46a2ec5873cfd59ee3d2f66c..94ba974179df2adb3c911fadf361f03b84aa8f14
2026-08-22 00:23:45 +0000 to 2026-08-25 18:16:11 +0000
- feat(diag): Stabilize cargo-lints  (rust-lang/cargo#17298)
- chore(deps): Update partial_ref to v0.3.4 (rust-lang/cargo#17392)
- refactor: remove ad-hoc `subslice_range` (rust-lang/cargo#17390)
- docs(changelog): move build-dir new layout to Changed (rust-lang/cargo#17387)
- chore(deps): update msrv (1 version) to v1.98 (rust-lang/cargo#17386)
- docs: Use mdbook admonitions (rust-lang/cargo#17384)
- chore(ci): exclude resolver-tests from intra doc link checks (rust-lang/cargo#17385)
@rust-log-analyzer

This comment has been minimized.

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 26, 2026
@rust-bors

rust-bors Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 4b7a1b9 failed: CI. Failed job:

@weihanglo

Copy link
Copy Markdown
Member Author

Fist blood!

warning: explicit `package.readme` can be inferred
 --> src/tools/clippy/rustc_tools_util/Cargo.toml:6:1
  |
6 | readme = "README.md"
  | ^^^^^^^^^^^^^^^^^^^^
  |
  = note: `cargo::manual_readme` is set to `warn` by default
help: consider removing `package.readme`
warning: `rustc_tools_util` (manifest) generated 1 warning
warning: explicit `package.readme` can be inferred
 --> src/tools/rustfmt/Cargo.toml:6:1
  |
6 | readme = "README.md"
  | ^^^^^^^^^^^^^^^^^^^^
  |
  = note: `cargo::manual_readme` is set to `warn` by default
help: consider removing `package.readme`
warning: `rustfmt-nightly` (manifest) generated 1 warning
warning: binary `rustdoc_tool_binary` should have a kebab-case name
   |
 1 | /checkout/obj/build/x86_64-unknown-linux-gnu/bootstrap-tools/.../rustdoc_tool_binary
   |                                                                  ^^^^^^^^^^^^^^^^^^^
   |
   = note: `cargo::non_kebab_case_bins` is set to `warn` by default
help: to change the binary name to `rustdoc-tool-binary`, convert `bin.name`
  --> src/tools/rustdoc/Cargo.toml:10:8
   |
10 - name = "rustdoc_tool_binary"
10 + name = "rustdoc-tool-binary"
   |
warning: `rustdoc-tool` (manifest) generated 1 warning
warning: explicit `package.readme` can be inferred
 --> src/tools/clippy/Cargo.toml:6:1
  |
6 | readme = "README.md"
  | ^^^^^^^^^^^^^^^^^^^^
  |
  = note: `cargo::manual_readme` is set to `warn` by default
help: consider removing `package.readme`
warning: `clippy` (manifest) generated 1 warning
warning: binary `clippy_dev` should have a kebab-case name
   |
 1 | /checkout/obj/build/x86_64-unknown-linux-gnu/bootstrap-tools/.../clippy_dev
   |                                                                  ^^^^^^^^^^
   |
   = note: `cargo::non_kebab_case_bins` is set to `warn` by default
help: to change the binary name to `clippy-dev`, convert `package.name`
  --> src/tools/clippy/clippy_dev/Cargo.toml:2:8
   |
 2 - name = "clippy_dev"
 2 + name = "clippy-dev"
   |
help: to change the binary name to `clippy-dev`, specify `bin.name`
  --> src/tools/clippy/clippy_dev/Cargo.toml:18:22
   |
18 ~ rustc_private = true
19 + [[bin]]
20 + name = "clippy-dev"
21 + path = "src/main.rs"
   |
warning: `clippy_dev` (manifest) generated 1 warning
warning: explicit `package.readme` can be inferred
 --> src/tools/clippy/clippy_utils/Cargo.toml:7:1
  |
7 | readme = "README.md"
  | ^^^^^^^^^^^^^^^^^^^^
  |
  = note: `cargo::manual_readme` is set to `warn` by default
help: consider removing `package.readme`
warning: `clippy_utils` (manifest) generated 1 warning
warning: explicit `package.readme` can be inferred
  --> compiler/rustc_thread_pool/Cargo.toml:11:1
   |
11 | readme = "README.md"
   | ^^^^^^^^^^^^^^^^^^^^
   |
   = note: `cargo::manual_readme` is set to `warn` by default
help: consider removing `package.readme`
warning: `rustc_thread_pool` (manifest) generated 1 warning
warning: explicit `package.readme` can be inferred
 --> src/tools/clippy/clippy_lints/Cargo.toml:6:1
  |
6 | readme = "README.md"
  | ^^^^^^^^^^^^^^^^^^^^
  |
  = note: `cargo::manual_readme` is set to `warn` by default
help: consider removing `package.readme`
warning: `clippy_lints` (manifest) generated 1 warning
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
   Compiling libc v0.2.189
   Compiling cfg-if v1.0.4
   Compiling memchr v2.8.0
   Compiling once_cell v1.21.3
   Compiling crossbeam-utils v0.8.21
   Compiling serde_core v1.0.228
   Compiling crossbeam-epoch v0.9.20
   Compiling getrandom v0.3.3
   Compiling anstyle v1.0.13
   Compiling regex-syntax v0.8.8
   Compiling rustix v1.1.2
   Compiling parking_lot_core v0.9.12
   Compiling serde v1.0.228
   Compiling bitflags v2.10.0
   Compiling scopeguard v1.2.0
   Compiling serde_json v1.0.145
   Compiling pin-project-lite v0.2.16
   Compiling thiserror v1.0.69
   Compiling linux-raw-sys v0.11.0
   Compiling rayon-core v1.13.0
   Compiling smallvec v1.15.1
   Compiling utf8parse v0.2.2
   Compiling utf8-width v0.1.7
   Compiling lazy_static v1.5.0
   Compiling fastrand v2.3.0
   Compiling heck v0.5.0
   Compiling clap_lex v1.1.0
   Compiling camino v1.2.1
   Compiling itoa v1.0.15
   Compiling ryu v1.0.20
   Compiling thread_local v1.1.9
   Compiling lock_api v0.4.14
   Compiling html-escape v0.2.13
   Compiling anstyle-lossy v1.1.4
   Compiling sharded-slab v0.1.7
   Compiling tracing-core v0.1.36
   Compiling anstyle-parse v0.2.7
   Compiling clap_builder v4.6.0
   Compiling unicode-width v0.2.2
   Compiling hashbrown v0.17.1
   Compiling equivalent v1.0.2
   Compiling either v1.15.0
   Compiling same-file v1.0.6
   Compiling diff v0.1.13
   Compiling nu-ansi-term v0.50.3
   Compiling home v0.5.12
   Compiling glob v0.3.3
   Compiling colored v3.1.1
   Compiling walkdir v2.5.0
   Compiling miropt-test-tools v0.1.0 (/checkout/src/tools/miropt-test-tools)
   Compiling build_helper v0.1.0 (/checkout/src/build_helper)
   Compiling unified-diff v0.2.1
   Compiling aho-corasick v1.1.4
   Compiling syn v2.0.117
   Compiling anstyle-svg v0.1.11
   Compiling crossbeam-deque v0.8.6
   Compiling indexmap v2.14.0
   Compiling parking_lot v0.12.5
   Compiling rayon v1.11.0
   Compiling regex-automata v0.4.13
   Compiling tempfile v3.23.0
   Compiling shim_utils v0.0.0 (/checkout/src/shim_utils)
   Compiling semver v1.0.27
   Compiling tracing-attributes v0.1.31
   Compiling thiserror-impl v1.0.69
   Compiling serde_derive v1.0.228
   Compiling clap_derive v4.6.1
   Compiling tracing v0.1.44
   Compiling clap v4.6.1
   Compiling matchers v0.2.0
   Compiling regex v1.12.2
   Compiling tracing-subscriber v0.3.23
   Compiling rustfix v0.8.7
   Compiling compiletest v0.0.0 (/checkout/src/tools/compiletest)
warning: unused dependency `unified-diff`
  --> src/tools/compiletest/Cargo.toml:37:1
   |
37 | unified-diff = "0.2.1"
   | ^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `cargo::unused_dependencies` is set to `warn` by default
help: consider removing the dependency on `unified-diff`
warning: `compiletest` (manifest) generated 1 warning
    Finished `release` profile [optimized] target(s) in 7.36s
error: warnings are denied by `build.warnings` configuration

@weihanglo

weihanglo commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Okay so

  • cargo::manual_readme — most of them are this. Easy fix
  • compiletest has an unused dep unified-diff. Just drop it
  • src/tools/rustdoc, clippy, rustfmt has non_kebab_case_bins lint errors. This might be a bit controversial, and to avoid being dragged into rename discussion we could probably just non_kebab_case_bins = "allow". However, that comes with an issue. opt-dist build use nightyl toolchain to test hence the failure. OTOH Bootstrap uses beta. If we add that allow compiler devs may start seeing warning: unused manifest key 'lints.cargo', which will be quite annoying.

@weihanglo

Copy link
Copy Markdown
Member Author

However, that comes with an issue. opt-dist build use nightyl toolchain to test hence the failure. OTOH Bootstrap uses beta. If we add that allow compiler devs may start seeing warning: unused manifest key 'lints.cargo', which will be quite annoying.

The different cargo between bootstrap and opt-dist may become an annoying issue in the future whenever Cargo adds a new lint.

@Kobzol

Kobzol commented Aug 26, 2026

Copy link
Copy Markdown
Member

Can we just allow all Cargo lints during the opt-dist tests?

@weihanglo

Copy link
Copy Markdown
Member Author

Can we just allow all Cargo lints during the opt-dist tests?

Hmm…, there is no environment variable can do that as of now except CARGO_BUILD_WARNINGS=allow.
Or we set in bootstrap.toml rust.deny-warnings = false? That sounds sloppier though.

And if we suppress Cargo lints in opt-dist, we still anyway need to fix those whenever that nightly got promoted to beta, which is a bit better but still annoying for beta bump PR.

How does rust-lang/rust deal with clippy lints in general? Does it apply only stable lints from nightly clippy?

@Kobzol

Kobzol commented Aug 26, 2026

Copy link
Copy Markdown
Member

We only enable a small subset of Clippy lints, and bump those manually (which doesn't happen often).

jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 27, 2026
chore: fix cargo lints

Fixes two cargo lint erros found during <rust-lang#161789 (comment)>.

See each commit message respectively for details.
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 27, 2026
chore: fix cargo lints

Fixes two cargo lint erros found during <rust-lang#161789 (comment)>.

See each commit message respectively for details.
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 27, 2026
chore: fix cargo lints

Fixes two cargo lint erros found during <rust-lang#161789 (comment)>.

See each commit message respectively for details.
jhpratt added a commit to jhpratt/rust that referenced this pull request Aug 27, 2026
…ieyouxu

rustdoc: fix lint `cargo::non_kebab_case_bins`

```
warning: binary `rustdoc_tool_binary` should have a kebab-case name
   |
 1 | /checkout/obj/build/x86_64-unknown-linux-gnu/bootstrap-tools/.../rustdoc_tool_binary
   |                                                                  ^^^^^^^^^^^^^^^^^^^
   |
   = note: `cargo::non_kebab_case_bins` is set to `warn` by default
help: to change the binary name to `rustdoc-tool-binary`, convert `bin.name`
  --> src/tools/rustdoc/Cargo.toml:10:8
   |
10 - name = "rustdoc_tool_binary"
10 + name = "rustdoc-tool-binary"
   |
warning: `rustdoc-tool` (manifest) generated 1 warning
```

See
<https://triage.rust-lang.org/gha-logs/rust-lang/rust/98030530980#L2026-08-26T03:05:00.5389265Z-L2026-08-26T03:05:00.5392627Z>

This was found in <rust-lang#161789>.
rust-bors Bot pushed a commit that referenced this pull request Aug 27, 2026
Rollup merge of #161842 - weihanglo:cargo-lints, r=jieyouxu

chore: fix cargo lints

Fixes two cargo lint erros found during <#161789 (comment)>.

See each commit message respectively for details.
rust-bors Bot pushed a commit that referenced this pull request Aug 27, 2026
Rollup merge of #161843 - weihanglo:rustdoc-cargo-lints, r=jieyouxu

rustdoc: fix lint `cargo::non_kebab_case_bins`

```
warning: binary `rustdoc_tool_binary` should have a kebab-case name
   |
 1 | /checkout/obj/build/x86_64-unknown-linux-gnu/bootstrap-tools/.../rustdoc_tool_binary
   |                                                                  ^^^^^^^^^^^^^^^^^^^
   |
   = note: `cargo::non_kebab_case_bins` is set to `warn` by default
help: to change the binary name to `rustdoc-tool-binary`, convert `bin.name`
  --> src/tools/rustdoc/Cargo.toml:10:8
   |
10 - name = "rustdoc_tool_binary"
10 + name = "rustdoc-tool-binary"
   |
warning: `rustdoc-tool` (manifest) generated 1 warning
```

See
<https://triage.rust-lang.org/gha-logs/rust-lang/rust/98030530980#L2026-08-26T03:05:00.5389265Z-L2026-08-26T03:05:00.5392627Z>

This was found in <#161789>.
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Aug 28, 2026
chore: fix cargo lints

Fixes two cargo lint erros found during <rust-lang/rust#161789 (comment)>.

See each commit message respectively for details.
RalfJung pushed a commit to RalfJung/miri that referenced this pull request Aug 28, 2026
rustdoc: fix lint `cargo::non_kebab_case_bins`

```
warning: binary `rustdoc_tool_binary` should have a kebab-case name
   |
 1 | /checkout/obj/build/x86_64-unknown-linux-gnu/bootstrap-tools/.../rustdoc_tool_binary
   |                                                                  ^^^^^^^^^^^^^^^^^^^
   |
   = note: `cargo::non_kebab_case_bins` is set to `warn` by default
help: to change the binary name to `rustdoc-tool-binary`, convert `bin.name`
  --> src/tools/rustdoc/Cargo.toml:10:8
   |
10 - name = "rustdoc_tool_binary"
10 + name = "rustdoc-tool-binary"
   |
warning: `rustdoc-tool` (manifest) generated 1 warning
```

See
<https://triage.rust-lang.org/gha-logs/rust-lang/rust/98030530980#L2026-08-26T03:05:00.5389265Z-L2026-08-26T03:05:00.5392627Z>

This was found in <rust-lang/rust#161789>.
@rust-bors rust-bors Bot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Aug 28, 2026
@rustbot

This comment has been minimized.

@weihanglo

Copy link
Copy Markdown
Member Author

Let's see how close we are

@bors try jobs=dist-x86_64-linux

@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Aug 28, 2026
Update cargo submodule


try-job: dist-x86_64-linux
pull Bot pushed a commit to brightly-salty/rust-clippy that referenced this pull request Aug 28, 2026
These commits follow the lint `cargo::non_kebab_case_bins`

https://doc.rust-lang.org/nightly/cargo/reference/lints.html#non_kebab_case_bins

The failure was found in
<rust-lang/rust#161789 (comment)>
when syncing Cargo submodule.

* `clippy_dev` `package.name` got renamed to `clippy-dev`.
* Expect no actual developer workflow changes as people usually run
`cargo dev` via `.cargo/config.toml` alias.
* ‼️ One caveat of this is that the next subtree sync need to also
update the name in rust-lang/rust's Cargo.lock
* `clippy_dummy`, because it is published already, rename its bin name
directly as `clippy`. This is a dummy package so it doesn't matter that
much, as we are unlikely to publish new versions.
* Test snapshots and test binary names are also converted to dashes.
They are less controversial than above as being completely internal.

changelog: none
@rust-bors

rust-bors Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

💔 Test for e09aaf3 failed: CI. Failed job:

@rust-log-analyzer

This comment has been minimized.

@weihanglo

Copy link
Copy Markdown
Member Author

The job dist-x86_64-linux failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)

Nice. We looks like we have fixed everything and just need to wait for rustfmt and clippy subtree sync back to rust-lang/rust.

@rustbot

This comment has been minimized.

@rust-log-analyzer

This comment was marked as outdated.

@weihanglo

weihanglo commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

This is currently blocked on clippy subtree sync: #162135

@rustbot

This comment has been minimized.

@rustbot

rustbot commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants