#serialization #revision #version #bincode

macro revision-derive

Implements procedural macros for automatic Revision trait implementation

8 releases (4 breaking)

0.5.0 Aug 29, 2023
0.4.0 Aug 14, 2023
0.3.0 Aug 13, 2023
0.2.3 Aug 10, 2023
0.1.0 Aug 9, 2023

#4 in #revision

Download history 782/week @ 2023-08-18 932/week @ 2023-08-25 1581/week @ 2023-09-01 1586/week @ 2023-09-08 1198/week @ 2023-09-15 1269/week @ 2023-09-22 1758/week @ 2023-09-29 1624/week @ 2023-10-06 1568/week @ 2023-10-13 1745/week @ 2023-10-20 1583/week @ 2023-10-27 1307/week @ 2023-11-03 2151/week @ 2023-11-10 2107/week @ 2023-11-17 1865/week @ 2023-11-24 1724/week @ 2023-12-01

8,115 downloads per month
Used in 27 crates (via revision)

Apache-2.0

51KB
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

~0.7–1.2MB
~26K SLoC