Allocation of memory at compile time before the program is executed.
Back
arity
Front
number of elements in a tuple
Back
mutable variable binding
Front
a binding which you are allowed to change what it points to
Back
Statement
Front
The smallest standalone element of a programming language that commands a computer to perform an action (doesn't necessarily evaluate to a single value)
Back
associated function
Front
Rust way of saying "static function" aka function that is called on the type itself, not the instance of a type
Back
zero-cost abstraction
Front
abstractions that cost as little as possible in order to work
Back
pattern
Front
The left side of a let statement (not necessarily a variable)
Back
Expression-Oriented Language
Front
Language where every statement is an expression and therefore returns a value.
Back
method
Front
functions available on the instance of a type, rather than the type itself
Back
vector
Front
A growable array. Always allocate their data as contiguous arrays on the heap. Must know the size of its type at compile time (if unknown, use pointers).
Back
mutable bindings
Front
Ability to change which value a variable is bound to (?)
Back
rules of borrowing
Front
You may have one or the other of these two kinds of borrows, but not both at the same time:
- one or more references (&T) to a resource
- exactly one mutable reference (&mut T)
Back
Shadowing
Front
a later variable binding with the same name as another binding that is currently in scope will override the previous binding
Back
mutable reference
Front
a reference which you can use to change a variable binding
Back
variables with ownership
Front
variables whose resources are freed once a binding goes out of scope
Back
prelude
Front
Stuff that is always imported without `use`
Back
destructuring let
Front
let statement that unpacks a tuple
Back
Expression
Front
A combination of values, constants, variables, operators and functions that evaluate to a single value.