fn main() { fn count(text: &str) -> Result { let value = text.parse::().map_err(|_| "invalid integer")?; if value > 100 { return Err("count too large"); } Ok(value) } assert_eq!(count("8"), Ok(8)); assert_eq!(count("bad"), Err("invalid integer")); assert_eq!(count("101"), Err("count too large")); println!("Valid count accepted; format and range errors distinguished"); }