summaryrefslogtreecommitdiff
path: root/docs/language/ownership.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/language/ownership.md')
-rw-r--r--docs/language/ownership.md26
1 files changed, 26 insertions, 0 deletions
diff --git a/docs/language/ownership.md b/docs/language/ownership.md
index 289846c..9af214b 100644
--- a/docs/language/ownership.md
+++ b/docs/language/ownership.md
@@ -4,10 +4,36 @@
# Copying
+## Assignment
+
# Moving
+## Assignment is not allowed for movable types that are not shared
+
+## Shared Types
+
## To And From Functions
+# Passing
+
+## References
+
+References are automatically taken if the function signature specifies ref
+
+```text
+inc_push_to_ref : Fn[Ref.x; y] $ (
+ x `push y + 1
+)
+int_array : Array[I64] $ ()
+float_array : Array[F64] $ ()
+@ 0 .. 2 {[x]
+ inc_push_to_ref `sync (int_array, x)
+ inc_push_to_ref `sync (float_array, F64 $ x)
+}
+`log int_array // Array[I64] $ (1; 2; 3)
+`log float_array // Array[F64] $ (1.0; 2.0; 3.0)
+```
+
# Locking
## References