Skip to content
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

refactor!: remove rkyv feature #27

Merged
merged 2 commits into from
Jul 4, 2024
Merged

refactor!: remove rkyv feature #27

merged 2 commits into from
Jul 4, 2024

Conversation

MaxOhn
Copy link
Owner

@MaxOhn MaxOhn commented Jul 4, 2024

This removes the rkyv feature and all the trait implementations that came with it.

The deserialization world contains various frameworks, each coming with their own strengths and weaknesses. It can be argued that it is too opinionated to support one over the other for a library.

Additionally, adding the code bloat of implementing traits for all types and their entire contained data is pretty much always overkill. Chances are users would only need support for very few types. And even when handling those types, serialization can often times be significantly improved by ignoring all pieces of irrelevant data.

For people that depended on the rkyv feature, I recommend to look into the rkyv::with::{ArchiveWith, SerializeWith, DeserializeWith} traits which essentially allow trait implementations of rkyv::{Archive, Serialize, Deserialize} on remote types. The rkyv-with even provides a way to derive those *With traits.

@MaxOhn MaxOhn merged commit 0d9d958 into lazer Jul 4, 2024
4 checks passed
@MaxOhn MaxOhn deleted the no-rkyv branch July 4, 2024 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant