Skip to content

Commit 7afe48e

Browse files
authored
Unrolled build for #148341
Rollup merge of #148341 - jyn514:feature-unification, r=BoxyUwU compiler: Fix a couple issues around cargo feature unification cc #148266. this doesn't fix all the issues (`rustc_public` and `rustc_transmute` still emit warnings when tested individually), but it fixes all the simple ones. To fix rustc_public I will probably need help from ````@AlexanderPortland```` or ````@makai410```` to make sure I am not accidentally cfg-ing out items that are meant to be public. To fix `rustc_transmute`, I will need to know (from ````@jswrenn```` ?) in what context the `rustc` cargo feature is disapled. To reproduce the issues, you can run `x test rustc_{transmute,public}` locally. --- The first issue I fixed was a warning in `rustc_index`: ``` Testing stage2 {rustc_parse_format} (aarch64-apple-darwin) Compiling rustc_index v0.0.0 (/Users/ci/project/compiler/rustc_index) error: extern crate `smallvec` is unused in crate `rustc_index` --> compiler/rustc_index/src/lib.rs:2:1 | 2 | #![cfg_attr(all(feature = "nightly", test), feature(stmt_expr_attributes))] | ^ | = help: remove the dependency or add `use smallvec as _;` to the crate root = note: `-D unused-crate-dependencies` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(unused_crate_dependencies)]` error: could not compile `rustc_index` (lib) due to 1 previous error ``` The second was that `type_ir_macros` didn't fully specify its dependencies: ``` Testing stage1 {rustc_type_ir_macros} (aarch64-apple-darwin) Compiling rustc_type_ir_macros v0.0.0 (/Users/jyn/src/ferrocene3/compiler/rustc_type_ir_macros) error[E0432]: unresolved import `syn::visit_mut` --> compiler/rustc_type_ir_macros/src/lib.rs:2:10 | 2 | use syn::visit_mut::VisitMut; | ^^^^^^^^^ could not find `visit_mut` in `syn` | note: found an item that was configured out --> /Users/jyn/.local/lib/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.106/src/lib.rs:880:21 | 878 | #[cfg(feature = "visit-mut")] | --------------------- the item is gated behind the `visit-mut` feature 879 | #[cfg_attr(docsrs, doc(cfg(feature = "visit-mut")))] 880 | pub use crate::gen::visit_mut; | ^^^^^^^^^ error[E0433]: failed to resolve: could not find `visit_mut` in `syn` --> compiler/rustc_type_ir_macros/src/lib.rs:206:18 | 206 | syn::visit_mut::visit_type_path_mut(self, i); | ^^^^^^^^^ could not find `visit_mut` in `syn` | note: found an item that was configured out --> /Users/jyn/.local/lib/cargo/registry/src/index.crates.io-1949cf8c6b5b557f/syn-2.0.106/src/lib.rs:880:21 | 878 | #[cfg(feature = "visit-mut")] | --------------------- the item is gated behind the `visit-mut` feature 879 | #[cfg_attr(docsrs, doc(cfg(feature = "visit-mut")))] 880 | pub use crate::gen::visit_mut; | ^^^^^^^^^ ```
2 parents c0ff72f + 60c230b commit 7afe48e

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

compiler/rustc_index/Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ edition = "2024"
88
rustc_index_macros = { path = "../rustc_index_macros" }
99
rustc_macros = { path = "../rustc_macros", optional = true }
1010
rustc_serialize = { path = "../rustc_serialize", optional = true }
11-
smallvec = "1.8.1"
11+
smallvec = { version = "1.8.1", optional = true }
1212
# tidy-alphabetical-end
1313

1414
[features]
@@ -17,6 +17,7 @@ default = ["nightly"]
1717
nightly = [
1818
"dep:rustc_macros",
1919
"dep:rustc_serialize",
20+
"dep:smallvec",
2021
"rustc_index_macros/nightly",
2122
]
2223
rustc_randomized_layouts = []

compiler/rustc_type_ir_macros/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@ proc-macro = true
1010
# tidy-alphabetical-start
1111
proc-macro2 = "1"
1212
quote = "1"
13-
syn = { version = "2.0.9", features = ["full"] }
13+
syn = { version = "2.0.9", features = ["full", "visit-mut"] }
1414
synstructure = "0.13.0"
1515
# tidy-alphabetical-end

0 commit comments

Comments
 (0)