-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Open
Labels
A-features2Area: issues specifically related to the v2 feature resolverArea: issues specifically related to the v2 feature resolverC-bugCategory: bugCategory: bugS-needs-mentorStatus: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.Status: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.Z-per-package-targetNightly: per-package-targetNightly: per-package-target
Description
Problem
forced-target
will fail when used with target dependencies defined in the same package that match that target.
thread 'main' panicked at 'activated_features for invalid package: features did not find PackageId { name: "regex", version: "1.8.1", source: "registry `crates-io`" } NormalOrDev', src/cargo/core/resolver/features.rs:321:14
Steps
Try to build a project with the following manifest:
cargo-features = ["per-package-target"]
[package]
name = "foo"
version = "0.1.0"
edition = "2021"
forced-target = "wasm32-unknown-unknown"
[target.'cfg(target_family="wasm")'.dependencies]
regex = "1"
This requires resolver=2.
Possible Solution(s)
There are several issues here:
- Missing RustcTargetData information (which is being fixed in Support registry dependencies for bindeps #12062).
- The FeatureResolver doesn't know about per-package targets.
- Feature resolution for per-package targets is up in the air at the moment.
Notes
No response
Version
cargo 1.71.0-nightly (569b648b5 2023-05-05)
release: 1.71.0-nightly
commit-hash: 569b648b5831ae8a515e90c80843a5287c3304ef
commit-date: 2023-05-05
host: aarch64-apple-darwin
libgit2: 1.6.3 (sys:0.17.0 vendored)
libcurl: 7.87.0 (sys:0.4.61+curl-8.0.1 system ssl:(SecureTransport) LibreSSL/3.3.6)
ssl: OpenSSL 1.1.1t 7 Feb 2023
os: Mac OS 13.3.1 [64-bit]
Metadata
Metadata
Assignees
Labels
A-features2Area: issues specifically related to the v2 feature resolverArea: issues specifically related to the v2 feature resolverC-bugCategory: bugCategory: bugS-needs-mentorStatus: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.Status: Issue or feature is accepted, but needs a team member to commit to helping and reviewing.Z-per-package-targetNightly: per-package-targetNightly: per-package-target