From bd260f176905a4b6becac5fa0d75eb6d9ba32b12 Mon Sep 17 00:00:00 2001 From: Stephan Rehfeld Date: Wed, 15 Apr 2026 18:04:15 +0200 Subject: [PATCH] Drop and move behavior --- src/main.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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; }