Hacker News new | ask | show | jobs
by duped 1037 days ago
This doesn't fix the problem, since features don't apply transitively. The correct workaround is to use [patch].

There's also the problem that the build may fail because it will still download the binary, which you may want to forbid entirely.

1 comments

Sure features are transitive. A crate’s features at build are the superset of what every package defines. If I define “fast_compile” (opt-in) or “no_binaries” (opt-out) it’ll get applied across the board, will it not?
It depends. Features are not unified with resolver = 2 for proc macros.

https://doc.rust-lang.org/cargo/reference/resolver.html#feat...

That said I'm not sure how that applies transitively, I could have sworn I've seen conflicting features not cause transitive build failures.