Values & References7 / 18
Up next

Passing by value moves

// taking String by value MOVES it; the caller loses access
fn consume(s: String) -> usize {
    s.len()
}

fn main() {
    let text = String::from("hello");
    let n = consume(text);
    // text can no longer be used here
    println!("{n}");
}
What you're solving

an owned value is moved into the callee