1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
macro_rules! no_ref_schema { () => { fn is_referenceable() -> bool { false } }; } macro_rules! forward_impl { (($($impl:tt)+) => $target:ty) => { impl $($impl)+ { fn is_referenceable() -> bool { <$target>::is_referenceable() } fn schema_name() -> String { <$target>::schema_name() } fn json_schema(gen: &mut SchemaGenerator) -> Schema { <$target>::json_schema(gen) } fn json_schema_optional(gen: &mut SchemaGenerator) -> Schema { <$target>::json_schema_optional(gen) } } }; ($ty:ty => $target:ty) => { forward_impl!((JsonSchema for $ty) => $target); }; } mod array; #[cfg(std_atomic)] mod atomic; #[cfg(feature = "chrono")] mod chrono; #[cfg(feature = "indexmap")] mod indexmap; #[cfg(feature = "either")] mod either; #[cfg(feature = "uuid")] mod uuid; #[cfg(feature = "smallvec")] mod smallvec; #[cfg(feature = "arrayvec")] mod arrayvec; mod core; mod ffi; mod maps; #[cfg(num_nonzero_signed)] mod nonzero_signed; mod nonzero_unsigned; mod primitives; mod sequences; mod serdejson; mod time; mod tuple; mod wrapper;