#revision #bincode #version #serialization #proc-macro #traits-structs

macro revision-derive

Implements procedural macros for automatic Revision trait implementation

13 releases (breaking)

0.10.0 Aug 31, 2024
0.8.0 Jul 9, 2024
0.5.0 Aug 29, 2023

#26 in #revision

Download history 4103/week @ 2024-07-22 6031/week @ 2024-07-29 7018/week @ 2024-08-05 6192/week @ 2024-08-12 6641/week @ 2024-08-19 5882/week @ 2024-08-26 6548/week @ 2024-09-02 6483/week @ 2024-09-09 5877/week @ 2024-09-16 6052/week @ 2024-09-23 6149/week @ 2024-09-30 4417/week @ 2024-10-07 5596/week @ 2024-10-14 5015/week @ 2024-10-21 4498/week @ 2024-10-28 4527/week @ 2024-11-04

19,890 downloads per month
Used in 79 crates (via revision)

Apache-2.0

53KB
1.5K SLoC

revision-derive

Private implementation of procedural macros for revision.

docs.rs Crates.io


lib.rs:

Exports the Revisioned procedural macro attribute, and the derive procedural macro that automatically generates the Revisioned trait on structs and enums.

The Revisioned trait is automatically implemented for the following primitives: u8, u16, u32, u64, u128, usize, i8, i16, i32, i64, i128, isize, f32, f64, char, String, Vec, Arrays up to 32 elements, Option, Box, Bound, Wrapping, (A, B), (A, B, C), (A, B, C, D), (A, B, C, D, E), Duration, HashMap<K, V>, BTreeMap<K, V>, Result<T, E>, Cow<'_, T>, Decimal, regex::Regex, uuid::Uuid, chrono::DateTime, geo::Point, geo::LineString geo::Polygon, geo::MultiPoint, geo::MultiLineString, and geo::MultiPolygon.

Dependencies

~250–700KB
~17K SLoC