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!