in aws_secretsmanager_agent/src/config.rs [369:394]
fn parse_num<T>(
str_val: &str,
msg: &str,
pos_range: Option<Range<T>>,
neg_range: Option<Range<T>>,
) -> Result<T, Box<dyn std::error::Error>>
where
T: PartialOrd + Sized + std::str::FromStr,
{
let val = match str_val.parse::<T>() {
Ok(x) => x,
_ => Err(msg)?,
};
if let Some(rng) = pos_range {
if !rng.contains(&val) {
Err(msg)?;
}
}
if let Some(rng) = neg_range {
if rng.contains(&val) {
Err(msg)?;
}
}
Ok(val)
}