1 unstable release
0.1.0 | Dec 4, 2023 |
---|
#2448 in Encoding
5KB
mempickle
⚠️ WARNING: This crate should NEVER be used in production environments. All your data will be corrupted if you EVER change your code, or even recompile it with a different compiler version. This crate is only meant for learning purposes.
This crate provides a MemPickle
type that can pickle raw Rust structs into a byte buffer and unpickle them back.
I wrote this crate just to learn how to work with raw pointers in Rust. If you insist on using it, it's your funeral.
Load with feature "i_like_breaking_production" if you insist on using this crate.
Usage
use mempickle::MemPickle;
#[derive(Debug, PartialEq)]
struct Foo {
a: u32,
b: u32,
}
let foo = Foo { a: 42, b: 69 };
let pickle = MemPickle::new(foo);
// do some other stuff until you need to load the pickle back
let foo = pickle.unwrap();
assert_eq!(foo, Foo { a: 42, b: 69 });
Dependencies
~1.6–9.5MB
~111K SLoC