Crates.io | serde_repr |
lib.rs | serde_repr |
version | 0.1.19 |
source | src |
created_at | 2019-01-13 01:32:16.572279 |
updated_at | 2024-04-08 18:36:00.494568 |
description | Derive Serialize and Deserialize that delegates to the underlying repr of a C-like enum. |
homepage | |
repository | https://github.com/dtolnay/serde-repr |
max_upload_size | |
id | 108260 |
size | 30,702 |
This crate provides a derive macro to derive Serde's Serialize
and
Deserialize
traits in a way that delegates to the underlying repr of a C-like
enum.
[dependencies]
serde = "1.0"
serde_repr = "0.1"
use serde_repr::{Serialize_repr, Deserialize_repr};
#[derive(Serialize_repr, Deserialize_repr, PartialEq, Debug)]
#[repr(u8)]
enum SmallPrime {
Two = 2,
Three = 3,
Five = 5,
Seven = 7,
}
fn main() -> serde_json::Result<()> {
let j = serde_json::to_string(&SmallPrime::Seven)?;
assert_eq!(j, "7");
let p: SmallPrime = serde_json::from_str("2")?;
assert_eq!(p, SmallPrime::Two);
Ok(())
}