parallel_compiler: hide dependencies behind feature#93787
parallel_compiler: hide dependencies behind feature#93787bors merged 2 commits intorust-lang:masterfrom
Conversation
|
r? @wesleywiser (rust-highfive has picked a reviewer for you, use r? to override) |
There was a problem hiding this comment.
Could you make two closures? This would allow to avoid the cfg-if dependency:
#[cfg(parallel_compiler)]
let pre_compile_cgus = |cgu_reuse: &[CguReuse]| { /* ... */ };
#[cfg(not(parallel_compiler))]
let pre_compile_cgus = |_: &[CguReuse]| (FxHashMap::default(), Duration::new(0, 0));
036795b to
acc3752
Compare
|
Err, looks like that I'm expecting, that this definition will work, Cargo.toml: and compile indexmap with different features, depending on cfg, but it always builded with |
|
I don't think you can use It could be a Cargo feature, something like: [features]
parallel_compiler = ["indexmap/rustc-rayon", "rayon", "rayon-core"]
[dependencies]
indexmap = "1.8.0"
rayon = { version = "0.3.2", package = "rustc-rayon", optional = true }
rayon-core = { version = "0.3.2", package = "rustc-rayon-core", optional = true }Plumbing that feature from rustbuild through the crate tree might be challenging, or at least tedious. |
|
Looks like that should work, but propagating feature through rustc crates that way not fun at all. |
234d926 to
0785344
Compare
|
☔ The latest upstream changes (presumably #94350) made this pull request unmergeable. Please resolve the merge conflicts. |
|
Triage: |
…f feature gives change of builded crates: 238 -> 224.
0785344 to
008fc79
Compare
wesleywiser
left a comment
There was a problem hiding this comment.
Tested locally both with and without parallel-compiler = true and builds succeed.
|
📌 Commit 008fc79 has been approved by |
|
⌛ Testing commit 008fc79 with merge 6809057bc8259f310e1eb6d51d81018dab5010fc... |
|
@bors retry (yield to rollup containing this pr ) |
Rollup of 5 pull requests Successful merges: - rust-lang#93787 (parallel_compiler: hide dependencies behind feature) - rust-lang#95318 (diagnostics: correct generic bounds with doubled colon) - rust-lang#95328 (Fix yet another Box<T, A> ICE) - rust-lang#95397 (Link to std::io's platform-specific behavior disclaimer) - rust-lang#95407 (Inline u8::is_utf8_char_boundary) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
Separate dependencies for
parallel_compilerfeature, so they will not be compiled if feature not selected, reducing number of compiled crates from 238 to 224.