diff options
Diffstat (limited to 'exercises/22_clippy')
| -rw-r--r-- | exercises/22_clippy/README.md | 10 | ||||
| -rw-r--r-- | exercises/22_clippy/clippy1.rs | 26 | ||||
| -rw-r--r-- | exercises/22_clippy/clippy2.rs | 15 | ||||
| -rw-r--r-- | exercises/22_clippy/clippy3.rs | 30 |
4 files changed, 81 insertions, 0 deletions
diff --git a/exercises/22_clippy/README.md b/exercises/22_clippy/README.md new file mode 100644 index 0000000..55438af --- /dev/null +++ b/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/exercises/22_clippy/clippy1.rs b/exercises/22_clippy/clippy1.rs new file mode 100644 index 0000000..95c0141 --- /dev/null +++ b/exercises/22_clippy/clippy1.rs @@ -0,0 +1,26 @@ +// clippy1.rs +// +// 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. +// +// Execute `rustlings hint clippy1` or use the `hint` watch subcommand for a +// hint. + +// I AM NOT DONE + +use std::f32; + +fn main() { + let pi = 3.14f32; + let radius = 5.00f32; + + let area = pi * f32::powi(radius, 2); + + println!( + "The area of a circle with radius {:.2} is {:.5}!", + radius, area + ) +} diff --git a/exercises/22_clippy/clippy2.rs b/exercises/22_clippy/clippy2.rs new file mode 100644 index 0000000..9b87a0b --- /dev/null +++ b/exercises/22_clippy/clippy2.rs @@ -0,0 +1,15 @@ +// clippy2.rs +// +// Execute `rustlings hint clippy2` or use the `hint` watch subcommand for a +// hint. + +// I AM NOT DONE + +fn main() { + let mut res = 42; + let option = Some(12); + for x in option { + res += x; + } + println!("{}", res); +} diff --git a/exercises/22_clippy/clippy3.rs b/exercises/22_clippy/clippy3.rs new file mode 100644 index 0000000..5a95f5b --- /dev/null +++ b/exercises/22_clippy/clippy3.rs @@ -0,0 +1,30 @@ +// clippy3.rs +// +// Here's a couple more easy Clippy fixes, so you can see its utility. +// No hints. + +// I AM NOT DONE + +#[allow(unused_variables, unused_assignments)] +fn main() { + let my_option: Option<()> = None; + if my_option.is_none() { + 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 b: {}", value_a, value_b); +} |
