diff --git a/src/main.rs b/src/main.rs index 79b942c..a8ed399 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,14 +10,28 @@ impl Vector3 { } } -fn print(vec: Vector3) { +fn print(vec: Vector3) -> Vector3 { println!("Vector3( x = {}, y = {}, z = {})", vec.x, vec.y, vec.z); + + vec +} + +impl Drop for Vector3 { + fn drop(&mut self) { + println!("Vector3 was dropped!"); + } } fn main() { let mut vec = Vector3::new(1.0, 0.0, 0.0); - print(vec); + /* + println!("Calling print"); + let vec2 = print(vec); + println!("Calling print returned"); + */ + + let vec2 = vec; vec.y = 2.0; }