From 4dfc11d74ab02ac5765ae5d08fb750c91f4744b4 Mon Sep 17 00:00:00 2001 From: Hunter Kvalevog Date: Fri, 2 Oct 2026 21:53:51 -0500 Subject: rustlings: move to rust/ --- .../exercises/06_move_semantics/move_semantics5.rs | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rust/rustlings/exercises/06_move_semantics/move_semantics5.rs (limited to 'rust/rustlings/exercises/06_move_semantics/move_semantics5.rs') diff --git a/rust/rustlings/exercises/06_move_semantics/move_semantics5.rs b/rust/rustlings/exercises/06_move_semantics/move_semantics5.rs new file mode 100644 index 0000000..78d8c77 --- /dev/null +++ b/rust/rustlings/exercises/06_move_semantics/move_semantics5.rs @@ -0,0 +1,24 @@ +#![allow(clippy::ptr_arg)] + +// TODO: Fix the compiler errors without changing anything except adding or +// removing references (the character `&`). + +// Shouldn't take ownership +fn get_char(data: &String) -> char { + data.chars().last().unwrap() +} + +// Should take ownership +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); +} -- cgit v1.2.3