## template

# Macro template

Source

    macro_rules! template {
        (Word) => { ... };
        (Word, $link:literal) => { ... };
        (List : $descr:expr) => { ... };
        (List : $descr:expr, $link:literal) => { ... };
        (OneOf : $one_of:expr) => { ... };
        (NameValueStr : [$($descr:literal),* $(,)?]) => { ... };
        (NameValueStr : [$($descr:literal),* $(,)?], $link:literal) => { ... };
        (NameValueStr : $descr:literal) => { ... };
        (NameValueStr : $descr:literal, $link:literal) => { ... };
        (Word, List : $descr:expr) => { ... };
        (Word, List : $descr:expr, $link:literal) => { ... };
        (Word, NameValueStr : $descr:expr) => { ... };
        (Word, NameValueStr : $descr:expr, $link:literal) => { ... };
        (List : $descr1:expr, NameValueStr : $descr2:expr) => { ... };
        (List : $descr1:expr, NameValueStr : $descr2:expr, $link:literal) => { ... };
        (Word, List : $descr1:expr, NameValueStr : $descr2:expr) => { ... };
        (Word, List : $descr1:expr, NameValueStr : $descr2:expr, $link:literal) => { ... };
        (@ $word:expr, $list:expr, $one_of:expr, $name_value_str:expr, $link:expr) => { ... };
    }

Expand description

A convenience macro for constructing attribute templates. E.g., `template!(Word, List: "description")` means that the attribute supports forms `#[attr]` and `#[attr(description)]`.