summaryrefslogtreecommitdiff
path: root/solutions
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-07-01 12:09:52 +0200
committermo8it <mo8it@proton.me>2024-07-01 12:09:52 +0200
commit09c94bef2dbaf44daf81d8f618289c9425d1f90f (patch)
tree2277773fcd9f27f866f9be5cb26685099af45ce9 /solutions
parenta0e810b4713bcef60f64f4709ee27c3acec676cd (diff)
clippy3 solution
Diffstat (limited to 'solutions')
-rw-r--r--solutions/22_clippy/clippy3.rs32
1 files changed, 31 insertions, 1 deletions
diff --git a/solutions/22_clippy/clippy3.rs b/solutions/22_clippy/clippy3.rs
index 4e18198..811d184 100644
--- a/solutions/22_clippy/clippy3.rs
+++ b/solutions/22_clippy/clippy3.rs
@@ -1 +1,31 @@
-// Solutions will be available before the stable release. Thank you for testing the beta version 🥰
+use std::mem;
+
+#[rustfmt::skip]
+#[allow(unused_variables, unused_assignments)]
+fn main() {
+ let my_option: Option<()> = None;
+ // `unwrap` of an `Option` after checking if it is `None` will panic.
+ // Use `if-let` instead.
+ if let Some(value) = my_option {
+ println!("{value:?}");
+ }
+
+ // A comma was missing.
+ let my_arr = &[
+ -1, -2, -3,
+ -4, -5, -6,
+ ];
+ println!("My array! Here it is: {:?}", my_arr);
+
+ let mut my_empty_vec = vec![1, 2, 3, 4, 5];
+ // `resize` mutates a vector instead of returning a new one.
+ // `resize(0, …)` clears a vector, so it is better to use `clear`.
+ my_empty_vec.clear();
+ println!("This Vec is empty, see? {my_empty_vec:?}");
+
+ let mut value_a = 45;
+ let mut value_b = 66;
+ // Use `mem::swap` to correctly swap two values.
+ mem::swap(&mut value_a, &mut value_b);
+ println!("value a: {}; value b: {}", value_a, value_b);
+}