diff --git a/Sigil-reference.md b/Sigil-reference.md new file mode 100644 index 0000000..aa5441e --- /dev/null +++ b/Sigil-reference.md @@ -0,0 +1,10 @@ +A quick reference of the sigils and their meaning: + +| Sigil | Meaning | +| ----- | ------- | +| `~` | Owned pointer; like a normal value, but always pointer-sized, and allocated on the heap | +| `&` | Borrowed pointer; a pointer to data that you do not own and thus cannot free | +| `&mut`| Mutable borrowed pointer; like a borrowed pointer, but cannot alias with any other pointer, and you can mutate through it | +| `@` | Managed pointer; a pointer to data that no one owns. Allows cycles. Garbage collected | +| `'` | Lifetime/label marker; used to label loops for labeled break and to indicate the lifetime of a borrowed pointer (eg `&'a T`) | +| `*` | Raw pointer; just like a pointer in C. Requires unsafe code to dereference. Can be NULL | \ No newline at end of file