Skip to content

-Zallow-features is incompatible with -Zbuild-std #13007

@Nemo157

Description

@Nemo157

Problem

When using -Zallow-features and -Zbuild-std together I expect that the builds of the standard library crates would bypass the allowed features (as would have to eventually happen with a stabilized build-std), instead currently you have to manually enable all the many features they use (at least, I assume that would work, I haven't gone through the effort of collecting the >150 features required to get just core to build).

Steps

> cargo new foo && cd foo
     Created binary (application) `foo` package

> cargo build -Zbuild-std -Zallow-features=build-std --target x86_64-unknown-linux-gnu
error: failed to load manifest for workspace member `/nix/store/rnlrycs51r4x67hhm3ibaj8f9yif912l-rust-default-1.76.0-nightly-2023-11-12/lib/rustlib/src/rust/library/std`

Caused by:
  failed to parse manifest at `/nix/store/rnlrycs51r4x67hhm3ibaj8f9yif912l-rust-default-1.76.0-nightly-2023-11-12/lib/rustlib/src/rust/library/std/Cargo.toml`

Caused by:
  the feature `public-dependency` is not in the list of allowed features: [build-std]

> cargo build -Zbuild-std -Zallow-features=build-std,public-dependency --target x86_64-unknown-linux-gnu |& tail -n1
error: could not compile `core` (lib) due to 26965 previous errors

Possible Solution(s)

No response

Notes

No response

Version

cargo 1.76.0-nightly (6790a5127 2023-11-10)
release: 1.76.0-nightly
commit-hash: 6790a5127895debec95c24aefaeb18e059270df3
commit-date: 2023-11-10
host: x86_64-unknown-linux-gnu
libgit2: 1.7.1 (sys:0.18.1 vendored)
libcurl: 8.4.0-DEV (sys:0.4.68+curl-8.4.0 vendored ssl:OpenSSL/1.1.1u)
ssl: OpenSSL 1.1.1u  30 May 2023
os: NixOS 23.5.0 [64-bit]

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: bugS-needs-designStatus: Needs someone to work further on the design for the feature or fix. NOT YET accepted.Z-build-stdNightly: build-std

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions