summaryrefslogtreecommitdiff
path: root/rustlings/exercises/13_error_handling/errors6.rs
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-09-27 12:11:32 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-09-27 12:11:32 -0500
commitb9b008c1d4a730335bdc9d465b0fdf7869fb09d4 (patch)
treee9695905445b4bab89c07b8662fe40207b74c288 /rustlings/exercises/13_error_handling/errors6.rs
parent1da0f56d76e5d5117eac05af092bf0ab58b14c8f (diff)
rustlings: complete 13
Diffstat (limited to 'rustlings/exercises/13_error_handling/errors6.rs')
-rw-r--r--rustlings/exercises/13_error_handling/errors6.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/rustlings/exercises/13_error_handling/errors6.rs b/rustlings/exercises/13_error_handling/errors6.rs
index b1995e0..353b50b 100644
--- a/rustlings/exercises/13_error_handling/errors6.rs
+++ b/rustlings/exercises/13_error_handling/errors6.rs
@@ -25,7 +25,9 @@ impl ParsePosNonzeroError {
}
// TODO: Add another error conversion function here.
- // fn from_parse_int(???) -> Self { ??? }
+ fn from_parse_int(err: ParseIntError) -> Self {
+ Self::ParseInt(err)
+ }
}
#[derive(PartialEq, Debug)]
@@ -43,7 +45,7 @@ impl PositiveNonzeroInteger {
fn parse(s: &str) -> Result<Self, ParsePosNonzeroError> {
// TODO: change this to return an appropriate error instead of panicking
// when `parse()` returns an error.
- let x: i64 = s.parse().unwrap();
+ let x: i64 = s.parse().map_err(ParsePosNonzeroError::from_parse_int)?;
Self::new(x).map_err(ParsePosNonzeroError::from_creation)
}
}