#revision #bincode #version #serialization #proc-macro #generate

macro revision-derive

Implements procedural macros for automatic Revision trait implementation

10 releases (6 breaking)

0.7.0 Apr 17, 2024
0.6.0 Apr 16, 2024
0.5.0 Aug 29, 2023
0.4.0 Aug 14, 2023
0.1.0 Aug 9, 2023

#27 in #revision

Download history 1783/week @ 2024-01-03 3138/week @ 2024-01-10 3507/week @ 2024-01-17 3444/week @ 2024-01-24 3119/week @ 2024-01-31 4378/week @ 2024-02-07 3924/week @ 2024-02-14 4344/week @ 2024-02-21 3382/week @ 2024-02-28 3725/week @ 2024-03-06 3738/week @ 2024-03-13 4971/week @ 2024-03-20 3563/week @ 2024-03-27 4195/week @ 2024-04-03 4778/week @ 2024-04-10 4377/week @ 2024-04-17

17,528 downloads per month
Used in 51 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