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)].