Macro proc_easy::easy_argument_value
source · [−]macro_rules! easy_argument_value {
(
$(#[$meta:meta])*
$vis:vis struct $name:ident {
$(#[$nmeta:meta])* $nvis:vis $nname:ident: $ntype:ty,
$(#[$vmeta:meta])* $vvis:vis $vname:ident: $vtype:ty
$(,)?
}
) => { ... };
(
$(#[$meta:meta])*
$vis:vis struct $name:ident {
$(#[$nmeta:meta])* $nvis:vis $nname:ident: $ntype:ty,
$(#[$vmeta:meta])* ? $vvis:vis $vname:ident: $vtype:ty
$(,)?
}
) => { ... };
(
$(#[$meta:meta])*
$vis:vis struct $name:ident (
$(#[$nmeta:meta])* $nvis:vis $ntype:ty,
$(#[$vmeta:meta])* $vvis:vis $vtype:ty
$(,)?
);
) => { ... };
(
$(#[$meta:meta])*
$vis:vis struct $name:ident (
$(#[$nmeta:meta])* $nvis:vis $nname:ident: $ntype:ty,
$(#[$vmeta:meta])* ? $vvis:vis $vname:ident: $vtype:ty
$(,)?
);
) => { ... };
}Expand description
Defines argument structure with exactly two fields.
First field is the argument name. It must implement EasyToken.
It must be used to for EasyPeek implementation.
Another field is a value. It is parsed preceded by = token or inside parentheses.
If name is not followed by = or parentheses, value field is missing (which may be not an error for Option and Vec field).
In case of errors, such as missing argument or unexpected duplicates, argument’s name and span will be used.