summaryrefslogtreecommitdiff
path: root/rustlings/exercises/12_options/options2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rustlings/exercises/12_options/options2.rs')
-rw-r--r--rustlings/exercises/12_options/options2.rs39
1 files changed, 0 insertions, 39 deletions
diff --git a/rustlings/exercises/12_options/options2.rs b/rustlings/exercises/12_options/options2.rs
deleted file mode 100644
index 1039d61..0000000
--- a/rustlings/exercises/12_options/options2.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-fn main() {
- // You can optionally experiment here.
-}
-
-#[cfg(test)]
-mod tests {
- #[test]
- fn simple_option() {
- let target = "rustlings";
- let optional_target = Some(target);
-
- // TODO: Make this an if-let statement whose value is `Some`.
- if let Some(word) = optional_target {
- assert_eq!(word, target);
- }
- }
-
- #[test]
- fn layered_option() {
- let range = 10;
- let mut optional_integers: Vec<Option<i8>> = vec![None];
-
- for i in 1..=range {
- optional_integers.push(Some(i));
- }
-
- let mut cursor = range;
-
- // TODO: Make this a while-let statement. Remember that `Vec::pop()`
- // adds another layer of `Option`. You can do nested pattern matching
- // in if-let and while-let statements.
- while let Some(Some(integer)) = optional_integers.pop() {
- assert_eq!(integer, cursor);
- cursor -= 1;
- }
-
- assert_eq!(cursor, 0);
- }
-}