summaryrefslogtreecommitdiff
path: root/rustlings/exercises/13_error_handling/errors4.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rustlings/exercises/13_error_handling/errors4.rs')
-rw-r--r--rustlings/exercises/13_error_handling/errors4.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/rustlings/exercises/13_error_handling/errors4.rs b/rustlings/exercises/13_error_handling/errors4.rs
index 144fce7..e5f3d39 100644
--- a/rustlings/exercises/13_error_handling/errors4.rs
+++ b/rustlings/exercises/13_error_handling/errors4.rs
@@ -11,6 +11,12 @@ impl PositiveNonzeroInteger {
fn new(value: i64) -> Result<Self, CreationError> {
// TODO: This function shouldn't always return an `Ok`.
// Read the tests below to clarify what should be returned.
+ if value < 0 {
+ return Err(CreationError::Negative);
+ }
+ if value == 0 {
+ return Err(CreationError::Zero);
+ }
Ok(Self(value as u64))
}
}