From 0121690f9cf4e44678a989d7acc7813c4fbfada2 Mon Sep 17 00:00:00 2001 From: Kornel Date: Sun, 16 Jan 2022 12:44:07 +0000 Subject: [PATCH] Track caller on methods using assertions --- src/parse/matches/arg_matches.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/parse/matches/arg_matches.rs b/src/parse/matches/arg_matches.rs index cc6c8781263..a4bb3f5a42e 100644 --- a/src/parse/matches/arg_matches.rs +++ b/src/parse/matches/arg_matches.rs @@ -165,6 +165,7 @@ impl ArgMatches { /// [`default_value`]: crate::Arg::default_value() /// [`occurrences_of`]: ArgMatches::occurrences_of() /// [`Arg::values_of_lossy`]: ArgMatches::values_of_lossy() + #[cfg_attr(debug_assertions, track_caller)] pub fn value_of_lossy(&self, id: T) -> Option> { let id = Id::from(id); let arg = self.get_arg(&id)?; @@ -215,6 +216,7 @@ impl ArgMatches { /// [`default_value`]: crate::Arg::default_value() /// [`occurrences_of`]: ArgMatches::occurrences_of() /// [`ArgMatches::values_of_os`]: ArgMatches::values_of_os() + #[cfg_attr(debug_assertions, track_caller)] pub fn value_of_os(&self, id: T) -> Option<&OsStr> { let id = Id::from(id); let arg = self.get_arg(&id)?; @@ -318,6 +320,7 @@ impl ArgMatches { /// assert_eq!(&itr.next().unwrap()[..], "\u{FFFD}!"); /// assert_eq!(itr.next(), None); /// ``` + #[cfg_attr(debug_assertions, track_caller)] pub fn values_of_lossy(&self, id: T) -> Option> { let id = Id::from(id); let arg = self.get_arg(&id)?; @@ -371,6 +374,7 @@ impl ArgMatches { /// [`OsSt`]: std::ffi::OsStr /// [values]: OsValues /// [`String`]: std::string::String + #[cfg_attr(debug_assertions, track_caller)] pub fn values_of_os(&self, id: T) -> Option { let id = Id::from(id); let arg = self.get_arg(&id)?; @@ -1313,7 +1317,7 @@ impl<'a> Default for Indices<'a> { } } -#[track_caller] +#[cfg_attr(debug_assertions, track_caller)] #[inline] fn assert_utf8_validation(arg: &MatchedArg, id: &Id) { debug_assert!( @@ -1323,7 +1327,7 @@ fn assert_utf8_validation(arg: &MatchedArg, id: &Id) { ); } -#[track_caller] +#[cfg_attr(debug_assertions, track_caller)] #[inline] fn assert_no_utf8_validation(arg: &MatchedArg, id: &Id) { debug_assert!(