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

macro revision-derive

Implements procedural macros for automatic Revision trait implementation

14 releases (breaking)

new 0.11.0 Feb 10, 2025
0.10.0 Aug 31, 2024
0.9.0 Aug 23, 2024
0.8.0 Jul 9, 2024
0.5.0 Aug 29, 2023

#30 in #revision

Download history 5166/week @ 2024-10-22 4421/week @ 2024-10-29 4384/week @ 2024-11-05 6499/week @ 2024-11-12 6004/week @ 2024-11-19 6116/week @ 2024-11-26 5119/week @ 2024-12-03 4891/week @ 2024-12-10 4508/week @ 2024-12-17 2703/week @ 2024-12-24 3787/week @ 2024-12-31 5485/week @ 2025-01-07 5995/week @ 2025-01-14 4860/week @ 2025-01-21 3787/week @ 2025-01-28 5345/week @ 2025-02-04

20,874 downloads per month
Used in 89 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::Duration, chrono::DateTime, geo::Point, geo::LineString geo::Polygon, geo::MultiPoint, geo::MultiLineString, and geo::MultiPolygon.

Dependencies

~200–630KB
~15K SLoC