summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-07-01 11:54:35 +0200
committermo8it <mo8it@proton.me>2024-07-01 11:54:35 +0200
commit78728d52387730300475cbe8c83497f603a14faf (patch)
tree09515aa24988e54828b6d86dc2a8f6886837cb12
parentcc2c0958c9ba038e1584f3cbff0b07df4cc490c1 (diff)
clippy1 solution
-rw-r--r--exercises/22_clippy/clippy1.rs16
-rw-r--r--rustlings-macros/info.toml4
-rw-r--r--solutions/22_clippy/clippy1.rs18
3 files changed, 26 insertions, 12 deletions
diff --git a/exercises/22_clippy/clippy1.rs b/exercises/22_clippy/clippy1.rs
index f1eaa83..b9d1ec1 100644
--- a/exercises/22_clippy/clippy1.rs
+++ b/exercises/22_clippy/clippy1.rs
@@ -1,19 +1,17 @@
// 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
+// 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.
-use std::f32;
+use std::f32::consts::PI;
fn main() {
- let pi = 3.14f32;
- let radius = 5.00f32;
+ // Use the more accurate `PI` constant.
+ let pi = PI;
+ let radius: f32 = 5.0;
- let area = pi * f32::powi(radius, 2);
+ let area = pi * radius.powi(2);
- println!(
- "The area of a circle with radius {:.2} is {:.5}!",
- radius, area
- )
+ println!("The area of a circle with radius {radius:.2} is {area:.5}");
}
diff --git a/rustlings-macros/info.toml b/rustlings-macros/info.toml
index 0ec5fb2..4d40726 100644
--- a/rustlings-macros/info.toml
+++ b/rustlings-macros/info.toml
@@ -1134,7 +1134,7 @@ dir = "22_clippy"
test = false
strict_clippy = true
hint = """
-Rust stores the highest precision version of any long or infinite precision
+Rust stores the highest precision version of some long or infinite precision
mathematical constants in the Rust standard library:
https://doc.rust-lang.org/stable/std/f32/consts/index.html
@@ -1142,7 +1142,7 @@ We may be tempted to use our own approximations for certain mathematical
constants, but clippy recognizes those imprecise mathematical constants as a
source of potential error.
-See the suggestions of the clippy warning in compile output and use the
+See the suggestions of the Clippy warning in the compile output and use the
appropriate replacement constant from `std::f32::consts`..."""
[[exercises]]
diff --git a/solutions/22_clippy/clippy1.rs b/solutions/22_clippy/clippy1.rs
index 4e18198..b9d1ec1 100644
--- a/solutions/22_clippy/clippy1.rs
+++ b/solutions/22_clippy/clippy1.rs
@@ -1 +1,17 @@
-// Solutions will be available before the stable release. Thank you for testing the beta version 🥰
+// 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.
+
+use std::f32::consts::PI;
+
+fn main() {
+ // Use the more accurate `PI` constant.
+ let pi = PI;
+ let radius: f32 = 5.0;
+
+ let area = pi * radius.powi(2);
+
+ println!("The area of a circle with radius {radius:.2} is {area:.5}");
+}