From 8031b2858f1bea41a3dcb5491a0158db5feef1b0 Mon Sep 17 00:00:00 2001 From: inorishio Date: Wed, 17 Jun 2026 16:13:28 +0200 Subject: [PATCH] exercises 06 done, onto structs --- .rustlings-state.txt | 9 ++++-- .../06_move_semantics/move_semantics2.rs | 5 +-- .../06_move_semantics/move_semantics3.rs | 2 +- .../06_move_semantics/move_semantics4.rs | 6 ++-- .../06_move_semantics/move_semantics5.rs | 10 +++--- exercises/07_structs/structs1.rs | 9 ++++-- move_semantics5.exe | Bin 0 -> 164352 bytes .../06_move_semantics/move_semantics2.rs | 30 ++++++++++++++++-- .../06_move_semantics/move_semantics3.rs | 24 ++++++++++++-- .../06_move_semantics/move_semantics4.rs | 19 +++++++++-- .../06_move_semantics/move_semantics5.rs | 25 +++++++++++++-- 11 files changed, 112 insertions(+), 27 deletions(-) create mode 100644 move_semantics5.exe diff --git a/.rustlings-state.txt b/.rustlings-state.txt index 04442a4..e3eec2a 100644 --- a/.rustlings-state.txt +++ b/.rustlings-state.txt @@ -1,6 +1,6 @@ DON'T EDIT THIS FILE! -move_semantics1 +structs1 intro1 intro2 @@ -26,4 +26,9 @@ primitive_types4 primitive_types5 primitive_types6 vecs1 -vecs2 \ No newline at end of file +vecs2 +move_semantics1 +move_semantics2 +move_semantics3 +move_semantics4 +move_semantics5 \ No newline at end of file diff --git a/exercises/06_move_semantics/move_semantics2.rs b/exercises/06_move_semantics/move_semantics2.rs index f98aad3..e8df6a6 100644 --- a/exercises/06_move_semantics/move_semantics2.rs +++ b/exercises/06_move_semantics/move_semantics2.rs @@ -8,7 +8,8 @@ fn fill_vec(vec: Vec) -> Vec { fn main() { let vec0 = vec![22, 44, 66]; - let vec1 = fill_vec(vec0); + let vec1 = fill_vec(vec0.clone()); + println!("{:?}", vec0); println!("{:?}", vec1); } @@ -22,7 +23,7 @@ mod tests { fn move_semantics2() { let vec0 = vec![22, 44, 66]; - let vec1 = fill_vec(vec0); + let vec1 = fill_vec(vec0.clone()); assert_eq!(vec0, [22, 44, 66]); assert_eq!(vec1, [22, 44, 66, 88]); diff --git a/exercises/06_move_semantics/move_semantics3.rs b/exercises/06_move_semantics/move_semantics3.rs index f816532..636a245 100644 --- a/exercises/06_move_semantics/move_semantics3.rs +++ b/exercises/06_move_semantics/move_semantics3.rs @@ -1,5 +1,5 @@ // TODO: Fix the compiler error in the function without adding any new line. -fn fill_vec(vec: Vec) -> Vec { +fn fill_vec(mut vec: Vec) -> Vec { vec.push(88); vec diff --git a/exercises/06_move_semantics/move_semantics4.rs b/exercises/06_move_semantics/move_semantics4.rs index 56da988..72c897e 100644 --- a/exercises/06_move_semantics/move_semantics4.rs +++ b/exercises/06_move_semantics/move_semantics4.rs @@ -1,6 +1,4 @@ -fn main() { - // You can optionally experiment here. -} +fn main() {} #[cfg(test)] mod tests { @@ -10,8 +8,8 @@ mod tests { fn move_semantics4() { let mut x = Vec::new(); let y = &mut x; - let z = &mut x; y.push(42); + let z = &mut x; z.push(13); assert_eq!(x, [42, 13]); } diff --git a/exercises/06_move_semantics/move_semantics5.rs b/exercises/06_move_semantics/move_semantics5.rs index cd0dafd..f6557c6 100644 --- a/exercises/06_move_semantics/move_semantics5.rs +++ b/exercises/06_move_semantics/move_semantics5.rs @@ -4,12 +4,12 @@ // removing references (the character `&`). // Shouldn't take ownership -fn get_char(data: String) -> char { - data.chars().last().unwrap() +fn get_char(data: &String) -> char { + data.chars().last().unwrap(); } // Should take ownership -fn string_uppercase(mut data: &String) { +fn string_uppercase(mut data: String) { data = data.to_uppercase(); println!("{data}"); @@ -18,7 +18,7 @@ fn string_uppercase(mut data: &String) { fn main() { let data = "Rust is great!".to_string(); - get_char(data); + get_char(&data); - string_uppercase(&data); + string_uppercase(data); } diff --git a/exercises/07_structs/structs1.rs b/exercises/07_structs/structs1.rs index 959c4c6..d23818f 100644 --- a/exercises/07_structs/structs1.rs +++ b/exercises/07_structs/structs1.rs @@ -1,15 +1,20 @@ struct ColorRegularStruct { // TODO: Add the fields that the test `regular_structs` expects. // What types should the fields have? What are the minimum and maximum values for RGB colors? + green: i32, + red: i32, + blue: i32, } -struct ColorTupleStruct(/* TODO: Add the fields that the test `tuple_structs` expects */); +#[derive(debug)] +struct ColorTupleStruct(i32, i32, i32); #[derive(Debug)] struct UnitStruct; fn main() { - // You can optionally experiment here. + let color = ColorTupleStruct(12, 55, 200); + println!("{:?}", color) } #[cfg(test)] diff --git a/move_semantics5.exe b/move_semantics5.exe new file mode 100644 index 0000000000000000000000000000000000000000..2426fe471e748dcb256a69a6d32d9c19152f06fd GIT binary patch literal 164352 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
rtr;zUoM>lJZpByd_S0E6=rWuZlJwjZ6_!CJ*s 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 literal 0 HcmV?d00001 diff --git a/solutions/06_move_semantics/move_semantics2.rs b/solutions/06_move_semantics/move_semantics2.rs index dcf2377..7bcd33a 100644 --- a/solutions/06_move_semantics/move_semantics2.rs +++ b/solutions/06_move_semantics/move_semantics2.rs @@ -1,4 +1,28 @@ -fn main() { - // DON'T EDIT THIS SOLUTION FILE! - // It will be automatically filled after you finish the exercise. +fn fill_vec(vec: Vec) -> Vec { + let mut vec = vec; + + vec.push(88); + + vec +} + +fn main() { + // You can optionally experiment here. +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn move_semantics2() { + let vec0 = vec![22, 44, 66]; + + // Cloning `vec0` so that the clone is moved into `fill_vec`, not `vec0` + // itself. + let vec1 = fill_vec(vec0.clone()); + + assert_eq!(vec0, [22, 44, 66]); + assert_eq!(vec1, [22, 44, 66, 88]); + } } diff --git a/solutions/06_move_semantics/move_semantics3.rs b/solutions/06_move_semantics/move_semantics3.rs index dcf2377..7ba4006 100644 --- a/solutions/06_move_semantics/move_semantics3.rs +++ b/solutions/06_move_semantics/move_semantics3.rs @@ -1,4 +1,22 @@ -fn main() { - // DON'T EDIT THIS SOLUTION FILE! - // It will be automatically filled after you finish the exercise. +fn fill_vec(mut vec: Vec) -> Vec { + // ^^^ added + vec.push(88); + + vec +} + +fn main() { + // You can optionally experiment here. +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn move_semantics3() { + let vec0 = vec![22, 44, 66]; + let vec1 = fill_vec(vec0); + assert_eq!(vec1, [22, 44, 66, 88]); + } } diff --git a/solutions/06_move_semantics/move_semantics4.rs b/solutions/06_move_semantics/move_semantics4.rs index dcf2377..1a39d4f 100644 --- a/solutions/06_move_semantics/move_semantics4.rs +++ b/solutions/06_move_semantics/move_semantics4.rs @@ -1,4 +1,19 @@ fn main() { - // DON'T EDIT THIS SOLUTION FILE! - // It will be automatically filled after you finish the exercise. + // You can optionally experiment here. +} + +#[cfg(test)] +mod tests { + #[test] + fn move_semantics4() { + let mut x = Vec::new(); + let y = &mut x; + // `y` used here. + y.push(42); + // The mutable reference `y` is not used anymore, + // therefore a new reference can be created. + let z = &mut x; + z.push(13); + assert_eq!(x, [42, 13]); + } } diff --git a/solutions/06_move_semantics/move_semantics5.rs b/solutions/06_move_semantics/move_semantics5.rs index dcf2377..1410e91 100644 --- a/solutions/06_move_semantics/move_semantics5.rs +++ b/solutions/06_move_semantics/move_semantics5.rs @@ -1,4 +1,23 @@ -fn main() { - // DON'T EDIT THIS SOLUTION FILE! - // It will be automatically filled after you finish the exercise. +#![allow(clippy::ptr_arg)] + +// Borrows instead of taking ownership. +// It is recommended to use `&str` instead of `&String` here. But this is +// enough for now because we didn't handle strings yet. +fn get_char(data: &String) -> char { + data.chars().last().unwrap() +} + +// Takes ownership instead of borrowing. +fn string_uppercase(mut data: String) { + data = data.to_uppercase(); + + println!("{data}"); +} + +fn main() { + let data = "Rust is great!".to_string(); + + get_char(&data); + + string_uppercase(data); }