From 916c8d93e1c9e54ee80178fa600c2d756635268e Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 5 Jul 2023 09:55:31 -0500 Subject: [PATCH] feat(derive): Accept num::Wrapping wrapped types --- clap_builder/src/builder/value_parser.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/clap_builder/src/builder/value_parser.rs b/clap_builder/src/builder/value_parser.rs index ffe8d7b3f2e..2e43d98f652 100644 --- a/clap_builder/src/builder/value_parser.rs +++ b/clap_builder/src/builder/value_parser.rs @@ -2215,6 +2215,17 @@ impl ValueParserFactory for u64 { RangedU64ValueParser::new() } } +impl ValueParserFactory for std::num::Wrapping +where + T: ValueParserFactory, + ::Parser: TypedValueParser, + T: Send + Sync + Clone, +{ + type Parser = MapValueParser<::Parser, fn(T) -> std::num::Wrapping>; + fn value_parser() -> Self::Parser { + T::value_parser().map(std::num::Wrapping) + } +} impl ValueParserFactory for Box where T: ValueParserFactory,