Skip to main content

Crate crous_derive

Crate crous_derive 

Source
Expand description

§crous-derive

Proc-macro crate providing #[derive(Crous)] and #[derive(CrousSchema)] for automatic serialization with stable field IDs.

§Usage

use crous_derive::{Crous, CrousSchema};
use crous_core::Value;

#[derive(Debug, PartialEq, Crous, CrousSchema)]
struct Person {
    #[crous(id = 1)] name: String,
    #[crous(id = 2)] age: u8,
    #[crous(id = 3)] tags: Vec<String>,
}

Derive Macros§

Crous
Derive the Crous trait for a struct, generating encode/decode implementations with stable field IDs.
CrousSchema
Derive CrousSchema — generates a schema_info() method that returns metadata about the struct’s field IDs and types.