-
-
Notifications
You must be signed in to change notification settings - Fork 766
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
guarantee serde
is in lockstep with serde_derive
#2588
guarantee serde
is in lockstep with serde_derive
#2588
Conversation
its going to take a better |
i don't seem to be able to get the "Outdated" check to pass, since the new CI check has to rely on an old version of |
61998fc
to
2ea7e13
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
When serde's derive feature is used, serde_derive must be compiled before serde can be, as serde with that feature has a serde_derive dependency. As of serde 1.0.186, this issue can be avoided by adding a separate serde_derive dependency due to the fact that serde 1.0.186 has a never-applicable dependency on serde_derive, which ensures that there is no incompatible version of serde_derive in a program [1]. Because MSRV being set to 1.56, it's not possible to use the dep: syntax in features, so serde crate needs to be renamed. This should improve compilation times of programs that use url with its serde feature, provided it doesn't have other crates that use serde with its derive feature. [1]: serde-rs/serde#2588
When serde's derive feature is used, serde_derive must be compiled before serde can be, as serde with that feature has a serde_derive dependency. As of serde 1.0.186, this issue can be avoided by adding a separate serde_derive dependency due to the fact that serde 1.0.186 has a never-applicable dependency on serde_derive, which ensures that there is no incompatible version of serde_derive in a program [1]. Because MSRV being set to 1.36, it's not possible to use the dep: syntax in features, so serde crate needs to be renamed. This should improve compilation times of programs that use either with its serde feature, provided it doesn't have other crates that use serde with its derive feature. [1]: serde-rs/serde#2588
When serde's derive feature is used, serde_derive must be compiled before serde can be, as serde with that feature has a serde_derive dependency. As of serde 1.0.186, this issue can be avoided by adding a separate serde_derive dependency due to the fact that serde 1.0.186 has a never-applicable dependency on serde_derive, which ensures that there is no incompatible version of serde_derive in a program [1]. Because MSRV being set to 1.36, it's not possible to use the dep: syntax in features, so serde crate needs to be renamed. This should improve compilation times of programs that use either with its serde feature, provided it doesn't have other crates that use serde with its derive feature. Fixes rayon-rs#86. [1]: serde-rs/serde#2588
Objective
derive
feature instead ofserde_derive
directly #2584.serde_derive
.Solution
serde_derive
inCargo.lock
files for projects that includeserde
withoutserde_derive
being forced as a dependency, so users can do the following in theirCargo.toml
:serde
andserde_derive
have the same version in a new dummy crate, though this does introduce some dev-dependencies which could be split out.