Skip to content

rkyv/rel

Repository files navigation

rel

rel is an object system based on relative pointers

This project is still in its early stages. Development is being done in the open.

Resources

  • The book contains information about the project and its direction.
  • Crate docs are available for all crates in the project and built continuously from the main branch.

What is rel?

rel is the future object model for rkyv and will enable fully mutable containers and zero-work serialization and deserialization. It achieves this by providing value emplacement semantics and a full allocator API for immovable data structures. To that end, rel also encompasses some relatively novel libraries that may be applicable beyond itself.

What does this mean for rkyv?

Once development on rel is far enough along, rkyv will be replacing its object model (structures like ArchivedVec, ArchivedBTreeMap, and more) with rel. rkyv will become focused on providing users its familiar derive macros and serialization system for easy entry and exit points from rel's object system. By formally separating the derive system from the object system, it will be easier for existing users to migrate from rkyv + rel to a fully rel-based project if they want to.

How can I help?

rel is currently in the experimental phase and needs more thought and scrutiny to help it mature into a library that rkyv can move on top of. If you're interested in helping shape the future of rel, join rkyv's Discord to discuss the library. Issues are always welcome as well, and we'll be using them mostly to track feature development as the project moves towards feature completeness and stability.

If you're already an rkyv user, then you may recognize rel as a core component of rkyv's vision for the 0.8 release. If you want to know more about how your project may be able to leverage rel, then visit the Discord to discuss the future of rkyv and rel.

About

An object system for Rust based on relative pointers

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages