tree: 0dc9562a5717dbd6aa31715ce07ee918eacda1d1 [path history] [tgz]
  1. src/
  2. tests/
  3. .cargo-checksum.json
  4. Cargo.toml
  5. LICENSE-APACHE
  6. LICENSE-MIT
  7. README.md
third_party/rust_crates/vendor/serde_repr/README.md

Serde repr derive

Build Status Latest Version Rust Documentation

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(())
}

License