blob: 7d8c97ee51576d2d9f537d6adda983c475c7d48a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
[[Ownership]]
[[Lifetime]]
[[Undefined behaviour is caught by the compiler]]
[[Variables lives on the stack]]
[[To put data on the heap use a Box]]
[[Cloning a box does a deep copy of the heap data]]
[[Aliasing just means that multiple variables point to the same heap data]]
[[A place is anything that is valid to put on the left-hand side of an assignment]]
[[Dereferencing is to access the data behind a pointer]]
[[Aliasing just means that multiple variables point to the same heap data]]
[[Variables are subject to permissions similar to files on linux]]
[[References temporarily remove permissions]]
[[Creating a reference to a variable is called borrowing]]
[[It is illegal to create a mutable reference while an immutable reference is live]]
[[Data must outlive any references to it]]
[[Move ownership out of the function]]
[[Return a static literal]]
[[Defer borrow checking to runtime with garbage collection]]
[[Provide a slot by the caller]]
[[Clone a reference in a function to modify it]]
[[Shortening the lifetime of borrowed variables before mutating it]]
|