Should Small Rust Structs be Passed by-copy or by-borrow? August 26, 2019 Like many good stories, this one started with a simple question. Should small Rust structs be passed by-copy or by-borrow? For example: struct Vector3 { x: f32, y: f32, z: f32 } fn dot_product_by_copy(a: Vector3, b: Vector3) -> float { a.x*b.x + a.y*b.y + a.z*b.z } fn dot_product_by_borrow(a: &Vector3, b: &Vector3) -> float
![Should small Rust structs be passed by-copy or by-borrow?](https://cdn-ak-scissors.b.st-hatena.com/image/square/8bf46158dda1c0ff82b2b3afe64853cbc0c64872/height=288;version=1;width=512/https%3A%2F%2Fwww.forrestthewoods.com%2Fblog%2Fshould-small-rust-structs-be-passed-by-copy-or-by-borrow%2Fassets%2Fimg%2Fheader.png)