docs(guide): Point out tools for reducing dependencies#16078
Merged
weihanglo merged 1 commit intorust-lang:masterfrom Oct 10, 2025
Merged
docs(guide): Point out tools for reducing dependencies#16078weihanglo merged 1 commit intorust-lang:masterfrom
weihanglo merged 1 commit intorust-lang:masterfrom
Conversation
This is a fairly non-invasive change people can make to speed up builds. My big motivation for writing this is I saw mention of https://crates.io/crates/cargo-unused-features and wanted this in first before calling that out.
Contributor
Author
|
CC @Kobzol |
Collaborator
Kobzol
approved these changes
Oct 9, 2025
Member
Kobzol
left a comment
There was a problem hiding this comment.
Makes sense! TIL about cargo shear.
|
|
||
| > *Note:* native support for this in Cargo is being tracked in [#15813](https://github.com/rust-lang/cargo/issues/15813). | ||
|
|
||
| Trade-offs: |
Member
There was a problem hiding this comment.
I'm not sure how much the trade-offs section makes sense here, as it's not a config that you would apply and it then affects your crate, but rather you just use a tool that might have false negatives/positives, and that's about it. But I also don't think it's super important.
Contributor
Author
There was a problem hiding this comment.
It provided a nice place to
- Call out the benefits
- Call out false positives and false negatives
weihanglo
approved these changes
Oct 10, 2025
| When changing code, | ||
| it can be easy to miss that a dependency is no longer used and can be removed. | ||
|
|
||
| > *Note:* native support for this in Cargo is being tracked in [#15813](https://github.com/rust-lang/cargo/issues/15813). |
Member
There was a problem hiding this comment.
nit: We normally use bold for note
bors
added a commit
to rust-lang/rust
that referenced
this pull request
Oct 10, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
bors
added a commit
to rust-lang/rust
that referenced
this pull request
Oct 11, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
bors
added a commit
to rust-lang/rust
that referenced
this pull request
Oct 11, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
rust-cloud-vms bot
pushed a commit
to makai410/rustc_public
that referenced
this pull request
Oct 12, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
github-merge-queue bot
pushed a commit
that referenced
this pull request
Oct 14, 2025
### What does this PR try to resolve? Helps users find ways to identify unused features in dependencies. This also pulls in - General improvements from #15991 (in particular, the grouping of links with content since this was going to make it worse) - Review feedback from #16078 ### How to test and review this PR?
flip1995
pushed a commit
to flip1995/rust-clippy
that referenced
this pull request
Oct 18, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
makai410
pushed a commit
to makai410/rust
that referenced
this pull request
Nov 8, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
makai410
pushed a commit
to makai410/rust
that referenced
this pull request
Nov 10, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
makai410
pushed a commit
to makai410/rustc_public
that referenced
this pull request
Nov 16, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
Kobzol
pushed a commit
to Kobzol/rustc_codegen_cranelift
that referenced
this pull request
Dec 29, 2025
Update cargo submodule 22 commits in 801d9b4981dd07e3aecdca1ab86834c13615737e..81c3f77a467359c8be6bc747dc93ec66a6e4ce11 2025-10-04 13:30:15 +0000 to 2025-10-10 18:41:02 +0000 - docs(changelog): literal host-tuple support (rust-lang/cargo#16033) - refactor: Define cargo script's target-dir using build-dir templating (rust-lang/cargo#16073) - feat(build-dir): Reorganize build-dir layout (rust-lang/cargo#15947) - refactor: unflatten `(String, Def)` to `ConfigValue` (rust-lang/cargo#16084) - fix(tree): Switch from `--depth public` to `--edges public` (rust-lang/cargo#16081) - docs(guide): Point out tools for reducing dependencies (rust-lang/cargo#16078) - Allow to rustfix unused_variables lint. (rust-lang/cargo#16082) - Fix test that assumes `CARGO_CFG_TARGET_FAMILY` is a single value (rust-lang/cargo#16079) - Fix regression that swallowed json diagnostic explanations (rust-lang/cargo#16075) - docs(ref): fix link to clippy incompatible_msrv lint (rust-lang/cargo#16077) - Convert a few more diagnostics to reports (rust-lang/cargo#16066) - fix(support): Add track_caller to know the actual failure (rust-lang/cargo#16069) - fix(add): Report a missing source error for workspace dependencies (rust-lang/cargo#16063) - fix(script): Default bin.name to package.name (rust-lang/cargo#16064) - refactor(gctx): ConfigValue getter cleanup (rust-lang/cargo#16067) - Fix unsafe_op_in_unsafe_fn for Windows (rust-lang/cargo#16058) - Consider public dependencies when choosing a version in cargo add (rust-lang/cargo#1… (rust-lang/cargo#15966) - docs: clarify panic-immediate-abort can be used in config (rust-lang/cargo#16054) - fix(timings): compute codegen start time to draw dep lines (rust-lang/cargo#16055) - chore: Added tracing span for build script execution (rust-lang/cargo#16053) - test: null-terminated path for reserved windows name detection (rust-lang/cargo#16052) - feat (publish): deprecate `--token` option (rust-lang/cargo#16046) r? ghost
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR try to resolve?
This is a fairly non-invasive change people can make to speed up builds.
How to test and review this PR?
My big motivation for writing this is I saw mention of https://crates.io/crates/cargo-unused-features and wanted this in first before calling that out.