summaryrefslogtreecommitdiff
path: root/rustlings/solutions/13_error_handling/errors4.rs
diff options
context:
space:
mode:
authorHunter Kvalevog <hunter@kvog.sh>2026-10-02 21:53:51 -0500
committerHunter Kvalevog <hunter@kvog.sh>2026-10-02 21:53:51 -0500
commit4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 (patch)
tree17ba62056d6b691dd0217b0e8f1b3a5826dce0f6 /rustlings/solutions/13_error_handling/errors4.rs
parent02d8f1c62896576e1266553a56980eddbc2a88d7 (diff)
rustlings: move to rust/
Diffstat (limited to 'rustlings/solutions/13_error_handling/errors4.rs')
-rw-r--r--rustlings/solutions/13_error_handling/errors4.rs42
1 files changed, 0 insertions, 42 deletions
diff --git a/rustlings/solutions/13_error_handling/errors4.rs b/rustlings/solutions/13_error_handling/errors4.rs
deleted file mode 100644
index 70c5f1c..0000000
--- a/rustlings/solutions/13_error_handling/errors4.rs
+++ /dev/null
@@ -1,42 +0,0 @@
-use std::cmp::Ordering;
-
-#[derive(PartialEq, Debug)]
-enum CreationError {
- Negative,
- Zero,
-}
-
-#[derive(PartialEq, Debug)]
-struct PositiveNonzeroInteger(u64);
-
-impl PositiveNonzeroInteger {
- fn new(value: i64) -> Result<Self, CreationError> {
- match value.cmp(&0) {
- Ordering::Less => Err(CreationError::Negative),
- Ordering::Equal => Err(CreationError::Zero),
- Ordering::Greater => Ok(Self(value as u64)),
- }
- }
-}
-
-fn main() {
- // You can optionally experiment here.
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
-
- #[test]
- fn test_creation() {
- assert_eq!(
- PositiveNonzeroInteger::new(10),
- Ok(PositiveNonzeroInteger(10)),
- );
- assert_eq!(
- PositiveNonzeroInteger::new(-10),
- Err(CreationError::Negative),
- );
- assert_eq!(PositiveNonzeroInteger::new(0), Err(CreationError::Zero));
- }
-}