Skip to content

Commit

Permalink
Merge pull request #4764 from epage/true
Browse files Browse the repository at this point in the history
fix(parser): Clarify get_count/get_flag assertion
  • Loading branch information
epage committed Mar 16, 2023
2 parents 4fa1ec6 + c0dc1cd commit 83b0437
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions src/parser/matches/arg_matches.rs
Expand Up @@ -139,9 +139,12 @@ impl ArgMatches {
/// ```
#[cfg_attr(debug_assertions, track_caller)]
pub fn get_count(&self, id: &str) -> u8 {
*self
.get_one::<u8>(id)
.expect("ArgAction::Count is defaulted")
*self.get_one::<u8>(id).unwrap_or_else(|| {
panic!(
"arg `{}`'s `ArgAction` should be `Count` which should provide a default",
id
)
})
}

/// Gets the value of a specific [`ArgAction::SetTrue`][crate::ArgAction::SetTrue] or [`ArgAction::SetFalse`][crate::ArgAction::SetFalse] flag
Expand Down Expand Up @@ -173,7 +176,12 @@ impl ArgMatches {
pub fn get_flag(&self, id: &str) -> bool {
*self
.get_one::<bool>(id)
.expect("ArgAction::SetTrue / ArgAction::SetFalse is defaulted")
.unwrap_or_else(|| {
panic!(
"arg `{}`'s `ArgAction` should be one of `SetTrue`, `SetFalse` which should provide a default",
id
)
})
}

/// Iterate over values of a specific option or positional argument.
Expand Down

0 comments on commit 83b0437

Please sign in to comment.