schemars/json_schema_impls/
atomic.rs
1use crate::gen::SchemaGenerator;
2use crate::schema::*;
3use crate::JsonSchema;
4use std::sync::atomic::*;
5
6forward_impl!(AtomicBool => bool);
7
8forward_impl!(AtomicI8 => i8);
9forward_impl!(AtomicI16 => i16);
10forward_impl!(AtomicI32 => i32);
11#[cfg(std_atomic64)]
12forward_impl!(AtomicI64 => i64);
13forward_impl!(AtomicIsize => isize);
14
15forward_impl!(AtomicU8 => u8);
16forward_impl!(AtomicU16 => u16);
17forward_impl!(AtomicU32 => u32);
18#[cfg(std_atomic64)]
19forward_impl!(AtomicU64 => u64);
20forward_impl!(AtomicUsize => usize);
21
22#[cfg(test)]
23mod tests {
24 use super::*;
25 use crate::tests::schema_object_for;
26 use pretty_assertions::assert_eq;
27
28 #[test]
29 fn schema_for_atomics() {
30 let atomic_schema = schema_object_for::<(
31 AtomicBool,
32 AtomicI8,
33 AtomicI16,
34 AtomicI32,
35 AtomicI64,
36 AtomicIsize,
37 AtomicU8,
38 AtomicU16,
39 AtomicU32,
40 AtomicU64,
41 AtomicUsize,
42 )>();
43 let basic_schema =
44 schema_object_for::<(bool, i8, i16, i32, i64, isize, u8, u16, u32, u64, usize)>();
45 assert_eq!(atomic_schema, basic_schema);
46 }
47}