diff --git a/exercises/error_handling/result1.rs b/exercises/error_handling/result1.rs index b978001..deb24d9 100644 --- a/exercises/error_handling/result1.rs +++ b/exercises/error_handling/result1.rs @@ -1,8 +1,6 @@ // result1.rs // Make this test pass! Execute `rustlings hint result1` for hints :) -// I AM NOT DONE - #[derive(PartialEq, Debug)] struct PositiveNonzeroInteger(u64); @@ -14,6 +12,11 @@ enum CreationError { impl PositiveNonzeroInteger { fn new(value: i64) -> Result<PositiveNonzeroInteger, CreationError> { + if value == 0 { + return Err(CreationError::Zero); + }else if value < 0 { + return Err(CreationError::Negative); + } Ok(PositiveNonzeroInteger(value as u64)) } }