waddling-errors-macros 0.7.3

Procedural macros for structured error codes with compile-time validation and taxonomy enforcement
Documentation
//! Test: Invalid severity should produce helpful error message
//!
//! This test verifies that using an invalid severity identifier
//! produces a clear, helpful error message listing valid options.

use waddling_errors_macros::{component, diag, primary, setup};

setup! {
    components = crate::components,
    primaries = crate::primaries,
    sequences = crate::sequences,
}

pub mod components {
    use waddling_errors_macros::component;

    component! {
        pub enum Component {
            Test {
                docs: "Test component",
            },
        }
    }
}

pub mod primaries {
    use waddling_errors_macros::primary;

    primary! {
        pub enum Primary {
            Sample {
                docs: "Test primary",
            },
        }
    }
}

pub mod sequences {
    use waddling_errors_macros::sequence;

    sequence! {
        INVALID(1) {
            description: "Test sequence",
            typical_severity: "Error",
        }
    }
}

// This should fail with a helpful error message
diag! {
    Banana.Test.Sample.INVALID: {
        message: "This should fail - Banana is not a valid severity",
    }
}

fn main() {}