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
Add support for rkyv and bytecheck #515
Comments
Bumping this, I can file a pull request from that repo instead if that would be preferable. |
Hi @djkoloski! 👋 Sorry for the late response here. Unfortunately we can't really add public trait implementations for unstable libraries, because those would require a major version bump in |
That sounds like a good plan, I think that's a sustainable approach for now. I'll circle back around to this issue when rkyv reaches a stable state. |
I'm just coming through some triage. It's a bit regrettable that we have to compromise supporting new libraries with maintaining stability. You kind of need libraries in the ecosystem to support your traits before you necessarily have critical mass that makes them stable. I'd be open to looking at ways to make it possible to support I'll go ahead and close this one for now though because we haven't got anything actionable specific for |
This will be less friendly for end-users, but we do now have a way to introduce unstable features that we can bump in minor versions of The caveat is that users need to explicitly set a |
Thanks, I'll take a look at this. I appreciate the effort you're putting into solving this issue! |
Is your feature request related to a problem? Please describe.
A couple rkyv users are using
uuid
and want to be able to serialize, access, and deserializeUuid
s.Describe the solution you'd like
An
rkyv
feature that adds rkyv support forUuid
and abytecheck
feature that adds bytecheck support forUuid
.Is it blocking?
Not blocking any releases, but there is a tracking issue in rkyv.
Describe alternatives you've considered
Providing implementations for
Uuid
in rkyv can be done behind auuid
feature. This will get users working again, but it goes against the precedent set byserde
that impls live in the crate the serializable type is defined. It also prevents situations where rkyv/bytecheck updates their impls and users cannot select a version of the library that satisfies all of their dependency versions.A wrapper type can be used to wrap the
Uuid
type and provide rkyv and bytecheck support, but would require re-implementing all of the functionality (public methods and trait impls).Additional context
I have an implementation ready to go in a fork commit so that anyone interested can see what the implementation would look like. These implementations should be relatively resilient to change.
You can learn more about rkyv from the book and the docs if you're not familiar with it.
Bytecheck is pretty straightforward with docs available.
Other
rkyv tracking issue
Thanks for the work you do! ❤
The text was updated successfully, but these errors were encountered: