1 /// Origin of the argument's value 2 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] 3 #[non_exhaustive] 4 pub enum ValueSource { 5 /// Value came [`Arg::default_value`][crate::Arg::default_value] 6 DefaultValue, 7 /// Value came [`Arg::env`][crate::Arg::env] 8 EnvVariable, 9 /// Value was passed in on the command-line 10 CommandLine, 11 } 12 13 impl ValueSource { is_explicit(self) -> bool14 pub(crate) fn is_explicit(self) -> bool { 15 self != Self::DefaultValue 16 } 17 } 18