diff options
Diffstat (limited to 'rust/rustlings/exercises/22_clippy')
| -rw-r--r-- | rust/rustlings/exercises/22_clippy/README.md | 10 | ||||
| -rw-r--r-- | rust/rustlings/exercises/22_clippy/clippy1.rs | 15 | ||||
| -rw-r--r-- | rust/rustlings/exercises/22_clippy/clippy2.rs | 10 | ||||
| -rw-r--r-- | rust/rustlings/exercises/22_clippy/clippy3.rs | 29 |
4 files changed, 64 insertions, 0 deletions
diff --git a/rust/rustlings/exercises/22_clippy/README.md b/rust/rustlings/exercises/22_clippy/README.md new file mode 100644 index 0000000..55438af --- /dev/null +++ b/rust/rustlings/exercises/22_clippy/README.md @@ -0,0 +1,10 @@ +# Clippy + +The Clippy tool is a collection of lints to analyze your code so you can catch common mistakes and improve your Rust code. + +If you used the installation script for Rustlings, Clippy should be already installed. +If not you can install it manually via `rustup component add clippy`. + +## Further information + +- [GitHub Repository](https://github.com/rust-lang/rust-clippy). diff --git a/rust/rustlings/exercises/22_clippy/clippy1.rs b/rust/rustlings/exercises/22_clippy/clippy1.rs new file mode 100644 index 0000000..7165da4 --- /dev/null +++ b/rust/rustlings/exercises/22_clippy/clippy1.rs @@ -0,0 +1,15 @@ +// The Clippy tool is a collection of lints to analyze your code so you can +// catch common mistakes and improve your Rust code. +// +// For these exercises, the code will fail to compile when there are Clippy +// warnings. Check Clippy's suggestions from the output to solve the exercise. + +fn main() { + // TODO: Fix the Clippy lint in this line. + let pi = 3.14; + let radius: f32 = 5.0; + + let area = pi * radius.powi(2); + + println!("The area of a circle with radius {radius:.2} is {area:.5}"); +} diff --git a/rust/rustlings/exercises/22_clippy/clippy2.rs b/rust/rustlings/exercises/22_clippy/clippy2.rs new file mode 100644 index 0000000..8cfe6f8 --- /dev/null +++ b/rust/rustlings/exercises/22_clippy/clippy2.rs @@ -0,0 +1,10 @@ +fn main() { + let mut res = 42; + let option = Some(12); + // TODO: Fix the Clippy lint. + for x in option { + res += x; + } + + println!("{res}"); +} diff --git a/rust/rustlings/exercises/22_clippy/clippy3.rs b/rust/rustlings/exercises/22_clippy/clippy3.rs new file mode 100644 index 0000000..7a3cb39 --- /dev/null +++ b/rust/rustlings/exercises/22_clippy/clippy3.rs @@ -0,0 +1,29 @@ +// Here are some more easy Clippy fixes so you can see its utility 📎 +// TODO: Fix all the Clippy lints. + +#[rustfmt::skip] +#[allow(unused_variables, unused_assignments)] +fn main() { + let my_option: Option<&str> = None; + // Assume that you don't know the value of `my_option`. + // In the case of `Some`, we want to print its value. + if my_option.is_none() { + println!("{}", my_option.unwrap()); + } + + let my_arr = &[ + -1, -2, -3 + -4, -5, -6 + ]; + println!("My array! Here it is: {my_arr:?}"); + + let my_empty_vec = vec![1, 2, 3, 4, 5].resize(0, 5); + println!("This Vec is empty, see? {my_empty_vec:?}"); + + let mut value_a = 45; + let mut value_b = 66; + // Let's swap these two! + value_a = value_b; + value_b = value_a; + println!("value a: {value_a}; value b: {value_b}"); +} |