Add initial solution files for Rustlings exercises and quizzes

- Created empty solution files for various exercises in strings, modules, hashmaps, options, error handling, generics, traits, lifetimes, tests, iterators, smart pointers, threads, macros, clippy, conversions, and quizzes.
- Each solution file contains a main function with a comment indicating that it will be automatically filled after completing the exercise.
- Added a README.md file to provide information about the solutions and their purpose.
This commit is contained in:
2026-01-26 16:43:17 +01:00
commit f4120eabdf
219 changed files with 5158 additions and 0 deletions

View File

@@ -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).

View File

@@ -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: f32 = std::f32::consts::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}");
}

View File

@@ -0,0 +1,10 @@
fn main() {
let mut res = 42;
let option = Some(12);
// TODO: Fix the Clippy lint.
if let Some(x) = option {
res += x;
}
println!("{res}");
}

View File

@@ -0,0 +1,28 @@
// 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 let Some(val) = my_option {
println!("{}", val);
}
let my_arr = &[
-1, -2, -3,
-4, -5, -6
];
println!("My array! Here it is: {my_arr:?}");
let my_empty_vec: Vec<i32> = vec![];
println!("This Vec is empty, see? {my_empty_vec:?}");
let mut value_a = 45;
let mut value_b = 66;
// Let's swap these two!
std::mem::swap(&mut value_a, &mut value_b);
println!("value a: {value_a}; value b: {value_b}");
}