summaryrefslogtreecommitdiff
path: root/Rust.md
blob: be302f9cf2648caaa3c150f166a06832986f85f7 (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
25
26
27
28
29
30
31
32
33
34
35
[[Why it is good to learn rust]]
[[A cool tool that visualizes the borrow checker]]
[[Rust principles]]
[[Cargo]]
[[Items that are always imported by default in Rust are called the prelude]]
[[Static class functions are called associated functions]]
[[References are also immutable by default]]
[[Random numbers in Rust]]
[[Pattern matching with a match expression]]
[[Shadowing variables]]
[[Integers can overflow if compiled with --release]]
[[Char is a unicode scalar value]]
[[Unlike integers floats do not have an architecture dependent size]]
[[Why is it called destructuring]]
[[Accessing a tuple by index is different from an array]]
[[An empty tuple is called a unit]]
[[Primitive values such as the array are allocated on the stack]]
[[Arrays are useful when you know the length will not change]]
[[Array notation]]
[[A scope block is an expression]]
[[Adding a semicolon to the end of a line turns it into a statement]]
[[How to return from a function]]
[[Statement vs expression]]
[[There is no truthiness]]
[[If is not a statement but an expression]]
[[Returning values from loops]]
[[Loop over an array with for-in]]
[[Undefined behaviour is caught by the compiler]]
[[Variables lives in the stack]]
[[Boxes live in the heap]]
[[Cloning a box does a deep copy of the heap data]]
[[Aliasing is accessing the same data through different variables]]
[[Borrow checker]]
[[A place is anything that is valid to put on the left-hand side of an assignment]]