# Glossary The following is a glossary which aims to give a short definition of many Rust terms. For translations, this also serves to connect the term back to the English original. <style> h1#glossary ~ ul { list-style: none; padding-inline-start: 0; } h1#glossary ~ ul > li { /* Simplify with "text-indent: 2em hanging" when supported: https://caniuse.com/mdn-css_properties_text-indent_hanging */ padding-left: 2em; text-indent: -2em; } h1#glossary ~ ul > li:first-line { font-weight: bold; } </style> <!-- Translators: please add the English term in italic after your translated term. Also, please keep the hard line breaks to ensure a nice formatting. --> - allocate:\ Dynamic memory allocation on [the heap](memory-management/stack-vs-heap.md). - argument:\ - Bare-metal Rust:\ Low-level Rust development, often deployed to a system without an operating system. See [Bare-metal Rust](bare-metal.md). - block:\ See [Blocks](control-flow/blocks.md) and _scope_. - borrow:\ See [Borrowing](ownership/borrowing.md). - borrow checker:\ The part of the Rust compiler which checks that all borrows are valid. - brace:\ `{` and `}`. Also called _curly brace_, they delimit _blocks_. - build:\ - call:\ - channel:\ Used to safely pass messages [between threads](concurrency/channels.md). - Comprehensive Rust 🦀:\ The courses here are jointly called Comprehensive Rust 🦀. - concurrency:\ - Concurrency in Rust:\ See [Concurrency in Rust](concurrency.md). - constant:\ - control flow:\ - crash:\ - enumeration:\ - error:\ - error handling:\ - exercise:\ - function:\ - garbage collector:\ - generics:\ - immutable:\ - integration test:\ - keyword:\ - library:\ - macro:\ Rust macros can be recognized by a `!` in the name. Macros are used when normal functions are not enough. A typical example is `format!`, which takes a variable number of arguments, which isn't supported by Rust functions. - `main` function:\ Rust programs start executing with the `main` function. - match:\ - memory leak:\ - method:\ - module:\ - move:\ - mutable:\ - ownership:\ - panic:\ - parameter:\ - pattern:\ - payload:\ - program:\ - programming language:\ - receiver:\ - reference counting:\ - return:\ - Rust:\ - Rust Fundamentals:\ Days 1 to 3 of this course. - Rust in Android:\ See [Rust in Android](android.md). - safe:\ - scope:\ - standard library:\ - static:\ - string:\ A data type storing textual data. See [`String` vs `str`](basic-syntax/string-slices.html) for more. - struct:\ - test:\ - thread:\ - thread safety:\ - trait:\ - type:\ - type inference:\ - undefined behavior:\ - union:\ - unit test:\ Rust comes with built-in support for running small unit tests and larger integration tests. See [Unit Tests](testing/unit-tests.html). - unsafe:\ The subset of Rust which allows you to trigger _undefined behavior_. See [Unsafe Rust](unsafe.html). - variable:\ A memory location storing data. Variables are valid in a _scope_.