//@ When Rust code is executed, passing a value (like `i32` or `Vec<i32>`) to a function will always
//@ result in a shallow copy being performed: Rust just copies the bytes representing that value, and
//@ considers itself done. That's just like the default copy constructor in C++. Rust, however, will
//@ When Rust code is executed, passing a value (like `i32` or `Vec<i32>`) to a function will always
//@ result in a shallow copy being performed: Rust just copies the bytes representing that value, and
//@ considers itself done. That's just like the default copy constructor in C++. Rust, however, will