rod_derive

Crates.iorod_derive
lib.rsrod_derive
version0.2.3
created_at2025-09-20 07:33:37.918969+00
updated_at2025-09-30 10:07:49.315879+00
descriptionProcedural macro for the Rod Validation library
homepage
repositoryhttps://github.com/kommade/rod/tree/master/rod_derive
max_upload_size
id1847490
size150,813
(kommade)

documentation

README

Rod Derive

Crates.io Documentation License: GPL v3

Procedural macro for the Rod Validation library. This crate provides the #[derive(RodValidate)] macro that generates validation code based on field attributes.

Overview

rod_derive is the procedural macro component of the Rod Validation framework. It automatically generates validation implementations for structs and enumerations based on declarative attributes.

This crate is typically used through the main rod_validation crate and not directly.

Usage

Add Rod Validation to your Cargo.toml:

[dependencies]
rod_validation = "0.2.2"

The derive macro is available through the prelude:

use rod_validation::prelude::*;

#[derive(RodValidate)]
struct User {
    #[rod(String {
        length: 3..=50,
        format: Email,
    })]
    email: String,
}

Documentation

For complete documentation, examples, technical details, and all supported validation attributes, see the main Rod Validation crate documentation and README.

This includes:

  • All validation types and attributes
  • Generated code details
  • Compilation guarantees
  • Performance considerations
  • Advanced features
  • Per-validation custom error messages using the ? "message" syntax
  • Limitations and troubleshooting

Dependencies

  • proc-macro2 - Token manipulation
  • quote - Code generation
  • syn - Rust syntax parsing
  • proc-macro-error - Enhanced error reporting

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Commit count: 23

cargo fmt