From 3bccfced1af69aa6130688b9a29d3d2ca55429f4 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 24 Nov 2022 08:07:50 -0600 Subject: [PATCH] docs: Clarify PossibleValue is likely not needed Fixes #4504 --- src/builder/possible_value.rs | 8 ++++++-- src/builder/value_parser.rs | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/builder/possible_value.rs b/src/builder/possible_value.rs index 03964fe118b..7a313ad2585 100644 --- a/src/builder/possible_value.rs +++ b/src/builder/possible_value.rs @@ -7,8 +7,11 @@ use crate::util::eq_ignore_case; /// /// This is used for specifying [possible values] of [Args]. /// -/// **NOTE:** This struct is likely not needed for most usecases as it is only required to -/// [hide] single values from help messages and shell completions or to attach [help] to possible values. +/// See also [`PossibleValuesParser`][crate::builder::PossibleValuesParser] +/// +/// **NOTE:** Most likely you can use strings, rather than `PossibleValue` as it is only required +/// to [hide] single values from help messages and shell completions or to attach [help] to +/// possible values. /// /// # Examples /// @@ -23,6 +26,7 @@ use crate::util::eq_ignore_case; /// PossibleValue::new("secret speed").hide(true) /// ]); /// ``` +/// /// [Args]: crate::Arg /// [possible values]: crate::builder::ValueParser::possible_values /// [hide]: PossibleValue::hide() diff --git a/src/builder/value_parser.rs b/src/builder/value_parser.rs index 8888bb21bcb..5fe6d2477d6 100644 --- a/src/builder/value_parser.rs +++ b/src/builder/value_parser.rs @@ -1066,8 +1066,9 @@ impl Default for EnumValueP /// Verify the value is from an enumerated set of [`PossibleValue`][crate::builder::PossibleValue]. /// /// See also: -/// - [`EnumValueParser`] for directly supporting `enum`s -/// - [`TypedValueParser::map`] for adapting values to a more specialized type +/// - [`EnumValueParser`] for directly supporting [`ValueEnum`][crate::ValueEnum] types +/// - [`TypedValueParser::map`] for adapting values to a more specialized type, like an external +/// enums that can't implement [`ValueEnum`][crate::ValueEnum] /// /// # Example ///