move_semantics5: Move main to the end

This commit is contained in:
mo8it 2024-07-10 13:47:33 +02:00
parent e512928df5
commit 59d6b852af
2 changed files with 16 additions and 16 deletions

View file

@ -3,14 +3,6 @@
// TODO: Fix the compiler errors without changing anything except adding or
// removing references (the character `&`).
fn main() {
let data = "Rust is great!".to_string();
get_char(data);
string_uppercase(&data);
}
// Shouldn't take ownership
fn get_char(data: String) -> char {
data.chars().last().unwrap()
@ -22,3 +14,11 @@ fn string_uppercase(mut data: &String) {
println!("{data}");
}
fn main() {
let data = "Rust is great!".to_string();
get_char(data);
string_uppercase(&data);
}

View file

@ -1,13 +1,5 @@
#![allow(clippy::ptr_arg)]
fn main() {
let data = "Rust is great!".to_string();
get_char(&data);
string_uppercase(data);
}
// 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.
@ -21,3 +13,11 @@ fn string_uppercase(mut data: String) {
println!("{data}");
}
fn main() {
let data = "Rust is great!".to_string();
get_char(&data);
string_uppercase(data);
}