From c70be042cece80b8397923772bb8a61f467cb7b7 Mon Sep 17 00:00:00 2001 From: Chris Zehner Date: Wed, 28 Feb 2018 18:47:39 -0800 Subject: [PATCH 1/2] nth-prime: Change return type wrapper from Result to Option --- exercises/nth-prime/example.rs | 8 ++++---- exercises/nth-prime/tests/nth-prime.rs | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/exercises/nth-prime/example.rs b/exercises/nth-prime/example.rs index 8745ec38d..a81be7d16 100644 --- a/exercises/nth-prime/example.rs +++ b/exercises/nth-prime/example.rs @@ -9,10 +9,10 @@ fn is_prime(n: u32) -> bool { return true; } -pub fn nth(n: u32) -> Result { +pub fn nth(n: u32) -> Option { match n { - 0 => Err(()), - 1 => Ok(2), + 0 => None, + 1 => Some(2), _ => { let mut count: u32 = 1; let mut candidate: u32 = 1; @@ -22,7 +22,7 @@ pub fn nth(n: u32) -> Result { count += 1; } } - Ok(candidate) + Some(candidate) } } } diff --git a/exercises/nth-prime/tests/nth-prime.rs b/exercises/nth-prime/tests/nth-prime.rs index ee2760087..2315fa445 100644 --- a/exercises/nth-prime/tests/nth-prime.rs +++ b/exercises/nth-prime/tests/nth-prime.rs @@ -2,29 +2,29 @@ extern crate nth_prime as np; #[test] fn test_first_prime() { - assert_eq!(np::nth(1), Ok(2)); + assert_eq!(np::nth(1), Some(2)); } #[test] #[ignore] fn test_second_prime() { - assert_eq!(np::nth(2), Ok(3)); + assert_eq!(np::nth(2), Some(3)); } #[test] #[ignore] fn test_sixth_prime() { - assert_eq!(np::nth(6), Ok(13)); + assert_eq!(np::nth(6), Some(13)); } #[test] #[ignore] fn test_big_prime() { - assert_eq!(np::nth(10001), Ok(104743)); + assert_eq!(np::nth(10001), Some(104743)); } #[test] #[ignore] fn test_zeroth_prime() { - assert!(np::nth(0).is_err()); + assert_eq!(np::nth(0), None); } From 2e50c9b773c61ba200a272f31b31c371f0150cee Mon Sep 17 00:00:00 2001 From: Chris Zehner Date: Wed, 28 Feb 2018 18:54:49 -0800 Subject: [PATCH 2/2] nth-prime: Add function template --- exercises/nth-prime/src/lib.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/exercises/nth-prime/src/lib.rs b/exercises/nth-prime/src/lib.rs index e69de29bb..b0d871bfe 100644 --- a/exercises/nth-prime/src/lib.rs +++ b/exercises/nth-prime/src/lib.rs @@ -0,0 +1,3 @@ +pub fn nth(n: u32) -> Option { + unimplemented!("What is the {}th prime number?", n) +}