macro_rules! scale_fn {
(
$name:ident,
base: $base_arg:ident,
constraint: $constraint_arg:ident,
mantissa_fmt: $mantissa_fmt:expr,
unit: $unit_arg:literal,
doc: $doc_arg:literal
) => { ... };
(
$name:ident,
base: $base_arg:ident,
constraint: $constraint_arg:ident,
mantissa_fmt: $mantissa_fmt:expr,
groupings: $sep_arg:literal,
unit: $unit_arg:literal,
doc: $doc_arg:literal
) => { ... };
(
$name:ident,
base: $base_arg:ident,
constraint: $constraint_arg:ident,
mantissa_fmt: $mantissa_fmt:expr,
groupings: $sep_arg:literal,
doc: $doc_arg:literal
) => { ... };
}Expand description
Three nearly identical variants: with the unit argument only, with unit and groupings arguments, with groupings argument only. If you happen to know how to factor this, please make a suggestion!