rust-lang / rust-lang/cargo

Make CompilationFiles struct public for crates.io users

Open
#8,145 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-cargo-api A-layout S-propose-close
Dominant language
Rust
Stars
15.5k
Forks
3k
Avg merge
23h 30m
Merged PRs (30d)
51

Description

The CompilationFiles struct contains metadata/target_short_hash methods to obtain metadata that is used as postfix for filenames of rlib files. This info is very relevant for the binary-dep-depinfo based cargo-udeps backend. It is exposed only to crates.io users via parsing the CLI args passed via the Executor trait but only if the compilation is actually done. In rerun scenarios where dependencies are still fresh, the executor trait is not used. Therefore, could CompilationFiles maybe be made public? Thanks.

See https://github.com/est31/cargo-udeps/blob/ee91e4710b8519b742b61301f9ccddebeaeaeed8/src/lib.rs#L379

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the CompilationFiles definition and its metadata and target_short_hash methods, then inspect how the Executor trait is used during normal and rerun compilation paths. Check the linked cargo-udeps use case and existing public API conventions before deciding the exposure needed. Done means crates.io consumers can obtain this metadata even when dependencies remain fresh.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, devtools
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.