MCPcopy Create free account
hub / github.com/bitflags/bitflags / main

Function main

examples/serde.rs:6–36  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

4
5#[cfg(feature = "serde")]
6fn main() {
7 use serde_lib::*;
8
9 bitflags::bitflags! {
10 #[derive(Serialize, Deserialize, Debug, PartialEq, Eq)]
11 #[serde(transparent)]
12 // NOTE: We alias the `serde` crate as `serde_lib` in this repository,
13 // but you don't need to do this
14 #[serde(crate = "serde_lib")]
15 pub struct Flags: u32 {
16 const A = 1;
17 const B = 2;
18 const C = 4;
19 const D = 8;
20 }
21 }
22
23 let flags = Flags::A | Flags::B;
24
25 let serialized = serde_json::to_string(&flags).unwrap();
26
27 println!("{:?} -> {}", flags, serialized);
28
29 assert_eq!(serialized, r#""A | B""#);
30
31 let deserialized: Flags = serde_json::from_str(&serialized).unwrap();
32
33 println!("{} -> {:?}", serialized, flags);
34
35 assert_eq!(deserialized, flags);
36}
37
38#[cfg(not(feature = "serde"))]
39fn main() {}

Callers

nothing calls this directly

Calls 1

from_strFunction · 0.85

Tested by

no test coverage detected