9951 explained code solutions for 126 technologies


rustHow to borrow moved value in Rust


Rust provides a powerful feature called "move semantics" which allows you to move values from one place to another without copying them. This can be useful when dealing with large data structures or when you want to avoid unnecessary copying.

let mut x = vec![1, 2, 3];
let y = x;

println!("x = {:?}", x);

Output example

x = []

In the example above, the value of x is moved to y, leaving x with an empty vector.

To borrow the moved value, you can use the ref keyword. This will create a reference to the moved value, allowing you to access it without copying it.

let mut x = vec![1, 2, 3];
let y = &x;

println!("x = {:?}", x);

Output example

x = [1, 2, 3]

Code explanation

  • let mut x = vec![1, 2, 3];: creates a mutable vector with the values 1, 2, and 3.
  • let y = x;: moves the value of x to y.
  • let y = &x;: creates a reference to the moved value of x.

Helpful links

Edit this code on GitHub