-
Notifications
You must be signed in to change notification settings - Fork 36
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 derive_more #60
remove derive_more #60
Conversation
Thanks for the effort! I'll review it soon :) |
There we go, clippy should now be happy! |
And sorry about that fat fingered what was meant to be a simple change, all fixed now and I've ran cargo-hack and clippy locally and it passes as expected |
Thanks a lot! :) |
No worries 😁 . Btw any timeline for the next release? |
I really wanna get my own PR resolved before that, it will increase performance by a few percent. I have a changeset locally that seems to do what I want. If this doesn't work out soon, I'll make a release. The PR I have there is purely internal changes so would be a minor version release, so not a big deal to push it back a bit. |
Author of derive_more here. The |
It would be nice if you could cut a release with this PR in it. We're considering using ruzstd to provide support for zstd-compressed debug info in the backtrace crate, but the dependency on an old version of syn is a blocker to that. |
The 1.0.0-beta.6 release of derive_more depends on the 2.0 version of syn. I believe that should work for you. |
@khuey oh wait I misunderstood. You're asking for a release of zstd-rs not derive_more |
Yeah, that's correct. I don't think we care whether this crate depends on syn 2 via derive-more 1.0 or whether it doesn't depend on syn at all but we don't want it to depend on syn 1. |
Great, thanks! |
This reverts commit 5265c12.
This reverts commit 5265c12.
First appologies for the size of this PR I can break it up if desired into a PR per file or something less giant 😅
This PR removes derives_more and thus the dependency on syn/quote etc. Both versions of syn take approximately 25-30s for a clean build on my system and a lot of crates currently have syn 1.x and 2.x in the dependency tree. Because of syn 2.x being blocked on a 1.0.0 release of derive_more (which seems blocked for other reasons) I suggested removing derive_more and replacing with the handrolled implementations oin #55 .
Initially I started doing this in
src/frame.rs
manually until I realised just how many impls there were to replace. After that I took the approach of usingcargo expand
and cleaning up the names and impled code to look less generated.One thing changed - all the display impls previously had
#[inline]
as a hint I didn't persist that but I could add it in just to ensure performance doesn't change.Ignoring dev-dependencies for a user of this project the dependency tree would look like:
Whereas before it was: