Skip to main content

relation_spec

Macro relation_spec 

Source
macro_rules! relation_spec {
    (
        $(#[$meta:meta])*
        $vis:vis struct $name:ident {
            id: $id:expr;
            key: ($kind:literal, $relation_name:literal);
            $(enabled: $enabled:expr;)?
            expiry($at:pat) => $expiry:expr $(;)?
        }
    ) => { ... };
    (@enabled $enabled:expr) => { ... };
    (@enabled) => { ... };
}
Expand description

Defines a zero-sized typed relation catalogue entry.

This is a convenience wrapper around RelationSpec. The trait remains the stable contract; use the macro when application code owns a static relation catalogue and the repeated marker-type boilerplate gets noisy.