-
Notifications
You must be signed in to change notification settings - Fork 633
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove dependency on proc-macro-hack #2520
Conversation
Just FYI, this PR was backported and released in 0.3.18, and it removed the features The Cargo docs recommend not removing features in semver-compatible releases:
I've fixed the problem in the project I'm working on, but it took a while to figure out this was the root cause preventing Thanks! |
I don't know why your project specified such an optional dependency as a feature, but I would recommend that you don't specify as a feature an optional dependency that is undocumented and unused as a feature. Or please open an issue and ask for clarification before specifying them as features -- In the case of futures, all of the undocumented optional dependencies are not considered features. |
We specified it as part of a workspace-hack crate (like rustc does) using cargo-hakari, which unifies all features as Cargo does to minimize the number of crate rebuilds. Optional dependencies automatically create feature names, and Cargo doesn't provide a way to designate features as "public" or "private" unfortunately. Again, I just wanted you to know about Cargo best practices for the future. |
Given that it is incompatible with half of cargo's recommended mitigation strategies, running
If I understand correctly, I think the better solution here is not to ask the library maintainers to handle this issue, but to implement a subcommand like |
This also removes dependency on autocfg & proc-macro-nested.
This bumps MSRV of utility crates (futures, futures-util, futures-executor, etc.) to 1.45.
The Rust 1.45 release is over a year old , Debian stable's rustc version is 1.48, Ubuntu's rustc version is 1.53, so this meets our tentative MSRV policy on utility crates.