Skip to content

artifact-dependencies cause entire workspace to be nightly-only #12385

Open
@tamird

Description

@tamird

Problem

Suppose I have a workspace:

.
├── Cargo.toml
├── my-crate/...
├── support-crate/... # contains publish = "false"
│   └── src/
│       └── main.rs
├── integration-test/
    └── Cargo.toml # contains publish = "false" *and* build-dependencies.support-crate.artifact = "bin"

Before the use of "artifact" I could do various things with stable cargo, even if my integration tests are nightly-only. After introducing the use of "artifact", the entire workspace is unusable with stable cargo:

$ cargo +stable check
error: failed to load manifest for workspace member `.../integration-test`

Caused by:
  failed to load manifest for dependency `support-crate`

Caused by:
  failed to parse manifest at `../support-crate/Cargo.toml`

Caused by:
  `artifact = …` requires `-Z bindeps` (bpf-linker)

We should allow folks to partially opt in, else hardly anyone will be willing to put mileage into this feature.

Proposed Solution

No response

Notes

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-unstableArea: nightly unstable supportA-workspacesArea: workspacesC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-needs-designStatus: Needs someone to work further on the design for the feature or fix. NOT YET accepted.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions