Make the serde feature opt-in instead of opt-out #200
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Like what I said in my earlier PR where I made the serde feature optional (#109): Having dependencies be optional but pulled in by default is often negative. Most people add dependencies without checking their features or optional dependencies too carefully. This leads to them pulling in transitive dependencies they likely don't need.
I can opt out of the serde dependency, sure. But! Now I want to try out the
const-addrs
crate to easily create IP types from macros with compile time validation. This crate depends onipnetwork
without opting out of the default features. This means that I now getserde
as a transitive dependency, even though I really don't needserde
for anything. It's a rather large dependency to compile for no real use.