# Cargo PR Triage
## Documentation
Challenge: those who see the problem to fix it don't usually have the background make sufficient updates
- As long as they are responsive, work with them
**Title:** Specifying dependencies: add exact version section ([#9961](https://github.com/rust-lang/cargo/pull/9961))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-03-08 18:01:02 UTC
- **Note:**
- try to work with author but they dropped off
**Title:** Add semver guidelines for changing the `repr` of structs/enums to ref… ([#10276](https://github.com/rust-lang/cargo/pull/10276))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:01:58 UTC
- **Note:**
- std rfc answers slightly different question (features, MSRV, etc)
- https://github.com/rust-lang/cargo/issues/8736
- Automate with cargo-semverver or cargo-crate-api
- https://github.com/crate-ci/cargo-api
- 🎉🎉🎉🎉🎉🎉🎉🎉
- https://github.com/iomentum/cargo-breaking
**Title:** Clarify configuration and workspace interaction ([#10207](https://github.com/rust-lang/cargo/pull/10207))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:02:07 UTC
- **Note:**
- try to work with author but they dropped off
## Discussion
**Title:** Make cargo metadata --no-deps print all path deps (including other workspaces) ([#9024](https://github.com/rust-lang/cargo/pull/9024))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:04:15 UTC
- **Note:**
- We merged another PR instead and left this open as we get more experience with the preferred PR. That was over a year ago.
- Close in favor of issue?
**Title:** Remote index branch configuration ([#9466](https://github.com/rust-lang/cargo/pull/9466))
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-02-16 17:42:39 UTC
- **Note:**
- Its active but is HTTP registry close enough to just encourage that instead?
- Useful enough to go forward
- but close in favor of issue
- Part of "major change" freeze?
**Title:** support generic target tables and env variables ([#9603](https://github.com/rust-lang/cargo/pull/9603))
- **Labels:** S-waiting-on-review
- **Last updated:** 2021-08-23 20:05:50 UTC
- **Note:**
- External build system integration
- No review comments, no issue and yet from last June
- Challenges with author
- Overload from that author at that time
- Sorry for taking a long time. Let's open an issue for discussing the problem and possible solutions
## Waiting on Reviewer
**Title:** feat: Import cargo-add into cargo ([#10472](https://github.com/rust-lang/cargo/pull/10472))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-16 13:35:58 UTC
- **Note:**
- FCP
**Title:** Fix use of .. in dep-info-basedir ([#10281](https://github.com/rust-lang/cargo/pull/10281))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-01-12 10:19:53 UTC
- **Note:**
**Title:** Disallow enabling debuginfo while stripping it ([#10432](https://github.com/rust-lang/cargo/pull/10432))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-14 18:51:02 UTC
- **Note:** @weihanglo [replied](https://github.com/rust-lang/cargo/pull/10432#issuecomment-1073014714)
**Title:** clean: add --with-downloads option ([#10070](https://github.com/rust-lang/cargo/pull/10070))
- **Labels:** S-waiting-on-review
- **Last updated:** 2021-12-06 22:37:58 UTC
- **Note:**
**Title:** Test if reserved filenames are allowed in Windows ([#10322](https://github.com/rust-lang/cargo/pull/10322))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-07 22:18:25 UTC
- **Note:**
**Title:** Add target-specific RUSTFLAGS variants ([#10462](https://github.com/rust-lang/cargo/pull/10462))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 17:11:53 UTC
- **Note:**
- Formerly assigned to Alex
**Title:** When documenting private items in a binary, ignore warnings about links to private items ([#10142](https://github.com/rust-lang/cargo/pull/10142))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-02-27 20:10:31 UTC
- **Note:**
**Title:** Add a progress indicator for `cargo clean` ([#10236](https://github.com/rust-lang/cargo/pull/10236))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-01-05 18:05:42 UTC
- **Note:**
**Title:** sources/path: if PathSource::list_files fails while using a git repo, retry without it ([#10313](https://github.com/rust-lang/cargo/pull/10313))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-01-28 20:41:29 UTC
- **Note:**
## Recommended Resolutions
**Title:** [WIP] mtime+content tracking ([#8623](https://github.com/rust-lang/cargo/pull/8623))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-review, S-blocked
- **Last updated:** 2021-07-29 14:37:03 UTC
- **Note:**
- Recommendation: **CLOSE**
- Author last posted in July and is just a WIP PR
**Title:** Add tests for ignoring symlinks ([#10047](https://github.com/rust-lang/cargo/pull/10047))
- **Resolution:** ✅ Merged
- **Labels:** S-waiting-on-author
- **Last updated:** 2021-11-05 22:31:56 UTC
- **Note:**
- Recommendation: **CLOSE**
- Author is is blocked on Windows access
- No posts since November
**Title:** cargo doc: Add --publish-dir option ([#10100](https://github.com/rust-lang/cargo/pull/10100))
- **Resolution:** ❌ Closed, not accepted
- **Labels:** S-waiting-on-author
- **Last updated:** 2021-12-14 17:11:15 UTC
- **Note:**
- Recommendation: **CLOSE**
- Waiting on author since november, they need to switch to `--out-dir`
**Title:** Add --check option for cargo doc ([#10026](https://github.com/rust-lang/cargo/pull/10026))
- **Resolution:** ❌ Closed, inactive
- **Labels:**
- **Last updated:** 2021-12-15 10:28:23 UTC
- **Note:**
- Recommendation: **CLOSE**
- Design work is needed, haven't heard back since December
**Title:** Retry git fetch operations when `net.git_fetch_with_cli = true` is set ([#9870](https://github.com/rust-lang/cargo/pull/9870))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-01-12 01:05:03 UTC
- **Note:**
- Author last posted in October that they were busy and would get back to it soon
**Title:** Add support for relative git submodule paths ([#9592](https://github.com/rust-lang/cargo/pull/9592))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-01-18 16:00:26 UTC
- **Note:**
- Waiting on author since october, needs to debug Windows issues
**Title:** Rustdoc nocapture ([#9705](https://github.com/rust-lang/cargo/pull/9705))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-02-22 19:57:19 UTC
- **Note:**
- Recommendation: **CLOSE**
- Last update frm author is July
**Title:** add argument `--counts` to run repeated tests, benchmarks ([#10174](https://github.com/rust-lang/cargo/pull/10174))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-02-22 19:59:33 UTC
- **Note:**
- Most likely a better fit for libtest, haven't heard an update from author on that since December
**Title:** Adds backoff mechanism for retry ([#9925](https://github.com/rust-lang/cargo/pull/9925))
- **Resolution:** ❌ Closed, inactive
- **Labels:** T-cargo, proposed-final-comment-period, disposition-merge, S-waiting-on-author
- **Last updated:** 2022-02-24 21:25:06 UTC
- **Note:**
- Recommendation: **CLOSE**
- Waiting on author since October and needs some major re-work
**Title:** Add requirements to cargo_test. ([#9892](https://github.com/rust-lang/cargo/pull/9892))
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-03-08 18:02:18 UTC
- **Note:**
- Recommendation: **CLOSE**
- Its just a draft and its been waiting on author since September
**Title:** Pass compile mode to the custom build script ([#10126](https://github.com/rust-lang/cargo/pull/10126))
- **Resolution:** ❌ Closed, inactive, needs design
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-02-28 20:59:39 UTC
- **Note:**
- Recommendations: **CLOSE**
- Its draft-ish (lots of "TODO"s in PR) and author last posted in November
**Title:** Simplified Update Multiple Crate Output Formats ([#9884](https://github.com/rust-lang/cargo/pull/9884))
- **Resolution:** ❌ Closed, inactive, needs design
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-03-08 18:02:50 UTC
- **Note:**
- Recommenation: **CLOSE**
- No update from author since October and current solution is too immature
**Title:** cargo_test: remove test roots after success ([#9701](https://github.com/rust-lang/cargo/pull/9701))
- **Resolution:** ❌ Closed, inactive, needs design
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:03:37 UTC
- **Note:**
- Recommenation: **Ask for Update then CLOSE**
- This is development feature to leave them behind. Need an update to see if the problem has been resolved on their end.
**Title:** Packages can inherit fields from their root workspace ([#9684](https://github.com/rust-lang/cargo/pull/9684))
- **Resolution:** ❌ Closed, author opened new PR
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-03-08 18:03:52 UTC
- **Note:**
- Recommendation: **CLOSE**
- This is going to be split up into smaller chunks
**Title:** Noting that overrides only work in root crates ([#9964](https://github.com/rust-lang/cargo/pull/9964))
- **Resolution:** ❌ Closed, inactive
- **Labels:** S-waiting-on-author
- **Last updated:** 2021-12-14 17:46:49 UTC
- **Note:**
- Recommendation: **CLOSE**
- Minor documentation improvement that needs work
**Title:** Use clap::ArgEnum to auto-generate possible cli arguments from Rust enums ([#10369](https://github.com/rust-lang/cargo/pull/10369))
- **Resolution:** ❌ Closed, not accepted
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-02-21 14:08:31 UTC
- **Note:**
- Recommendation: **CLOSE**
- We previously decided that the added dependencies weren't worth the benefit
**Title:** A project can not depend on itself as a path dependency ([#9702](https://github.com/rust-lang/cargo/pull/9702))
- **Resolution:** ❌ Closed, needs design, not accepted
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-01-09 05:22:07 UTC
- **Note:**
- Recommendation: **CLOSE**
- Blocked on https://github.com/rust-lang/rfcs/pull/3020
- Doesn't seem a high priority to resolve
- Link to PR to ressurect when ready to resolve
**Title:** Make more cargo-as-a-library functions `pub` ([#10414](https://github.com/rust-lang/cargo/pull/10414))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-09 19:09:51 UTC
- **Note:**
- This is a short-term hack until HTTP registry is available due to the complexity of making a registry proxy with the git-based index
- Recommendations: **Suggest they fork or we merge**. If we don't care about compatibility, what if we enable this for now and remove it in the future? maybe even put it behind a feature flag to discourage it further than the rest of the API.
- The problem is not with `pub` but with the API changes, especially making a complicated part more complicated
**Title:** Update `--timings=json` output include data similar to the HTML output ([#10463](https://github.com/rust-lang/cargo/pull/10463))
- **Resolution:** ❌ Closed, not accepted
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-15 11:55:12 UTC
- **Note:**
- Recommendation: **CLOSE** in favor of discussing in an issue
## Host target stuff
**Title:** Use cross compile style target/host isolation for all builds. ([#9634](https://github.com/rust-lang/cargo/pull/9634))
- **Labels:** S-waiting-on-review
- **Last updated:** 2021-07-16 15:53:08 UTC
- **Note:**
**Title:** Stabilize target-applies-to-host feature. ([#9753](https://github.com/rust-lang/cargo/pull/9753))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:03:24 UTC
- **Note:**
**Title:** Don't treat host/target duplicates as duplicates ([#10466](https://github.com/rust-lang/cargo/pull/10466))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-09 16:11:02 UTC
- **Note:**
**Title:** Add env variable to indicate the build type. ([#9532](https://github.com/rust-lang/cargo/pull/9532))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:04:06 UTC
- **Note:**
## build-std stuff
**Title:** Add support for `-Zbuild-std` to `cargo fetch` ([#10129](https://github.com/rust-lang/cargo/pull/10129))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-02-17 16:03:43 UTC
- **Note:**
**Title:** Move build-std to Cargo.toml ([#10308](https://github.com/rust-lang/cargo/pull/10308))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:00:10 UTC
- **Note:**
**Title:** Support per pkg target for `-Zbuild-std` ([#10330](https://github.com/rust-lang/cargo/pull/10330))
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-03-08 18:01:36 UTC
- **Note:**
**Title:** Resolve merge conflicts with #10330 ([#10386](https://github.com/rust-lang/cargo/pull/10386))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 17:59:29 UTC
- **Note:**
- An update on 10330 above
## Active
Hints of progress since Jan 1, 2022
**Title:** install fails earlier when no binaries can be found ([#9576](https://github.com/rust-lang/cargo/pull/9576))
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-01-20 15:46:30 UTC
- **Note:**
- Waiting on Author since January
**Title:** Cache submodules between different git checkouts ([#10279](https://github.com/rust-lang/cargo/pull/10279))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:00:25 UTC
- **Note:**
- Needs to use more of cargo's infrastructure
- Clarifications on that happened as of January, nothing since
**Title:** Change rustdoc-scrape-examples to be a target-level configuration ([#10343](https://github.com/rust-lang/cargo/pull/10343))
- **Labels:** S-waiting-on-author
- **Last updated:** 2022-03-08 18:00:56 UTC
- **Note:**
- Waiting on author (tests and some design questions) since January
**Title:** Allow `path = "${FOO}/bar"` dependencies ([#9855](https://github.com/rust-lang/cargo/pull/9855))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-08 18:03:09 UTC
- **Note:**
- Waiting on design work from author who said they "this is near the top of their priority list" 10 days ago
**Title:** Support `-Zmultitarget` in cargo config ([#10473](https://github.com/rust-lang/cargo/pull/10473))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-14 08:27:22 UTC
- **Note:**
**Title:** Auto-switch to multi-sources vendor directory layout ([#10344](https://github.com/rust-lang/cargo/pull/10344))
- **Labels:** T-cargo, proposed-final-comment-period, disposition-merge, S-waiting-on-author
- **Last updated:** 2022-03-10 15:45:37 UTC
- **Note:**
- Active
**Title:** Properly set dylib search path for doctests ([#10469](https://github.com/rust-lang/cargo/pull/10469))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-13 05:59:15 UTC
- **Note:**
- Active
**Title:** HTTP registry implementation ([#10470](https://github.com/rust-lang/cargo/pull/10470))
- **Resolution:** ✅ Merged
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-15 22:20:53 UTC
- **Note:**
- Active
**Title:** Consistently use crate::display_error on errors during drain ([#10394](https://github.com/rust-lang/cargo/pull/10394))
- **Resolution:** ✅ Merged
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-16 07:21:07 UTC
- **Note:**
- Active
**Title:** Implement 'multidep' (RFC-3176) ([#10061](https://github.com/rust-lang/cargo/pull/10061))
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-16 09:07:21 UTC
- **Note:**
- Active
**Title:** Refactor RegistryData::load to handle management of the index cache ([#10482](https://github.com/rust-lang/cargo/pull/10482))
- **Resolution:** ✅ Merged
- **Labels:** S-waiting-on-review
- **Last updated:** 2022-03-16 20:50:24 UTC
- **Note:**
- Active
## Misc
Source:
```rust=
use itertools::Itertools;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let mut prs = Vec::new();
let octocrab = octocrab::instance();
let mut current_page = octocrab
.pulls("rust-lang", "cargo")
.list()
.state(octocrab::params::State::Open)
.per_page(50)
.send()
.await?;
prs.extend(current_page.take_items());
while let Ok(Some(mut new_page)) = octocrab.get_page(¤t_page.next).await {
prs.extend(new_page.take_items());
current_page = new_page;
}
prs.sort_by_key(|pr| pr.updated_at);
for pr in prs {
println!(
"**Title:** {} ([#{}]({}))",
pr.title.as_deref().unwrap_or("\\-"),
pr.number,
pr.html_url
.as_ref()
.map(|u| u.to_string())
.unwrap_or(pr.url.clone())
);
if let Some(labels) = pr.labels.as_deref() {
println!(
"- **Labels:** {}",
labels.iter().map(|l| l.name.as_str()).join(", ")
);
}
if let Some(state) = pr.mergeable_state {
match state {
octocrab::models::pulls::MergeableState::Draft
| octocrab::models::pulls::MergeableState::Blocked => {
println!("- **State:** {:?}", state)
}
_ => {}
}
}
if let Some(updated_at) = pr.updated_at.as_ref() {
println!("- **Last updated:** {}", updated_at);
}
println!("- **Note:**");
println!();
}
Ok(())
}
```