What happens with the content of "string 1 ..." when i add "string 2" to s? is it automatically freed from the memory?
fn main() {
let mut s = String::from("string 1");
s.push_str(" doing something with string 1");
s = String::from("string 2"); // Adding new data and making s the owner
println!("s: {}", s);
}