summaryrefslogtreecommitdiff
path: root/Ownership.md
diff options
context:
space:
mode:
Diffstat (limited to 'Ownership.md')
-rw-r--r--Ownership.md16
1 files changed, 16 insertions, 0 deletions
diff --git a/Ownership.md b/Ownership.md
new file mode 100644
index 0000000..772153f
--- /dev/null
+++ b/Ownership.md
@@ -0,0 +1,16 @@
+[[Rust]]
+[[When heap data is deallocated]]
+[[Moved heap data principle]]
+[[Creating a reference to a variable is called borrowing]]
+
+
+---
+
+When we assign a Box to a name we say that name owns the box. Any time we copy the *pointer* to that box to another name we also pass ownership to that name.
+
+After we pass ownership and move into a new scope the original variable is freed. Thus when we return to the original scope it is no longer possible to use it.
+
+[[Passing a pointer to heap data as an argument to a function transfers its ownership]]
+
+![[Pasted image 20250804184242.png]]
+> Wherever the stack variable is greyed out means it is no longer the owner. \ No newline at end of file