Skip to content

Commit b222e4f

Browse files
authored
Add links to glossary entries (#2906)
This is again done with Gemini, though I double checked most of the entries.
1 parent 33bc3f4 commit b222e4f

File tree

1 file changed

+89
-61
lines changed

1 file changed

+89
-61
lines changed

src/glossary.md

Lines changed: 89 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ h1#glossary ~ ul > li:first-line {
3131
- allocate:\
3232
Dynamic memory allocation on [the heap](memory-management/review.md).
3333
- argument:\
34-
Information that is passed into a function or method.
34+
Information that is passed into a [function](control-flow-basics/functions.md)
35+
or method.
3536
- associated type:\
3637
A type associated with a specific trait. Useful for defining the relationship
3738
between types.
@@ -43,165 +44,192 @@ h1#glossary ~ ul > li:first-line {
4344
- borrow:\
4445
See [Borrowing](borrowing/shared.md).
4546
- borrow checker:\
46-
The part of the Rust compiler which checks that all borrows are valid.
47+
The part of the Rust compiler which checks that all
48+
[borrows](borrowing/borrowck.md) are valid.
4749
- brace:\
48-
`{` and `}`. Also called _curly brace_, they delimit _blocks_.
50+
`{` and `}`. Also called _curly brace_, they delimit
51+
[_blocks_](control-flow-basics/blocks-and-scopes.md).
4952
- build:\
5053
The process of converting source code into executable code or a usable
51-
program.
54+
program. See [Running Code Locally with Cargo](cargo/running-locally.md).
5255
- call:\
53-
To invoke or execute a function or method.
56+
To invoke or execute a [function or method](control-flow-basics/functions.md).
5457
- channel:\
5558
Used to safely pass messages [between threads](concurrency/channels.md).
5659
- Comprehensive Rust 🦀:\
5760
The courses here are jointly called Comprehensive Rust 🦀.
5861
- concurrency:\
59-
The execution of multiple tasks or processes at the same time.
62+
The execution of multiple tasks or processes at the same time. See
63+
[Welcome to Concurrency in Rust](concurrency/welcome.md).
6064
- Concurrency in Rust:\
6165
See [Concurrency in Rust](concurrency/welcome.md).
6266
- constant:\
63-
A value that does not change during the execution of a program.
67+
A value that does not change during the execution of a program. See
68+
[const](user-defined-types/const.md).
6469
- control flow:\
6570
The order in which the individual statements or instructions are executed in a
66-
program.
71+
program. See [Control Flow Basics](control-flow-basics.md).
6772
- crash:\
68-
An unexpected and unhandled failure or termination of a program.
73+
An unexpected and unhandled failure or termination of a program. See
74+
[panic](error-handling/panics.md).
6975
- enumeration:\
7076
A data type that holds one of several named constants, possibly with an
71-
associated tuple or struct.
77+
associated tuple or struct. See [enum](user-defined-types/enums.md).
7278
- error:\
7379
An unexpected condition or result that deviates from the expected behavior.
80+
See [Error Handling](error-handling.md).
7481
- error handling:\
75-
The process of managing and responding to errors that occur during program
76-
execution.
82+
The process of managing and responding to [errors](error-handling.md) that
83+
occur during program execution.
7784
- exercise:\
7885
A task or problem designed to practice and test programming skills.
7986
- function:\
80-
A reusable block of code that performs a specific task.
87+
A reusable block of code that performs a specific task. See
88+
[Functions](control-flow-basics/functions.md).
8189
- garbage collector:\
8290
A mechanism that automatically frees up memory occupied by objects that are no
83-
longer in use.
91+
longer in use. See
92+
[Approaches to Memory Management](memory-management/approaches.md).
8493
- generics:\
8594
A feature that allows writing code with placeholders for types, enabling code
86-
reuse with different data types.
95+
reuse with different data types. See [Generics](generics.md).
8796
- immutable:\
88-
Unable to be changed after creation.
97+
Unable to be changed after creation. See
98+
[Variables](types-and-values/variables.md).
8999
- integration test:\
90100
A type of test that verifies the interactions between different parts or
91-
components of a system.
101+
components of a system. See [Other Types of Tests](testing/other.md).
92102
- keyword:\
93103
A reserved word in a programming language that has a specific meaning and
94104
cannot be used as an identifier.
95105
- library:\
96-
A collection of precompiled routines or code that can be used by programs.
106+
A collection of precompiled routines or code that can be used by programs. See
107+
[Modules](modules.md).
97108
- macro:\
98-
Rust macros can be recognized by a `!` in the name. Macros are used when
99-
normal functions are not enough. A typical example is `format!`, which takes a
100-
variable number of arguments, which isn't supported by Rust functions.
109+
Rust [macros](control-flow-basics/macros.md) can be recognized by a `!` in the
110+
name. Macros are used when normal functions are not enough. A typical example
111+
is `format!`, which takes a variable number of arguments, which isn't
112+
supported by Rust functions.
101113
- `main` function:\
102-
Rust programs start executing with the `main` function.
114+
Rust programs start executing with the
115+
[`main` function](types-and-values/hello-world.md).
103116
- match:\
104-
A control flow construct in Rust that allows for pattern matching on the value
105-
of an expression.
117+
A control flow construct in Rust that allows for
118+
[pattern matching](pattern-matching.md) on the value of an expression.
106119
- memory leak:\
107120
A situation where a program fails to release memory that is no longer needed,
108-
leading to a gradual increase in memory usage.
121+
leading to a gradual increase in memory usage. See
122+
[Approaches to Memory Management](memory-management/approaches.md).
109123
- method:\
110-
A function associated with an object or a type in Rust.
124+
A function associated with an object or a type in Rust. See
125+
[Methods](methods-and-traits/methods.md).
111126
- module:\
112127
A namespace that contains definitions, such as functions, types, or traits, to
113-
organize code in Rust.
128+
organize code in Rust. See [Modules](modules.md).
114129
- move:\
115-
The transfer of ownership of a value from one variable to another in Rust.
130+
The transfer of ownership of a value from one variable to another in Rust. See
131+
[Move Semantics](memory-management/move.md).
116132
- mutable:\
117-
A property in Rust that allows variables to be modified after they have been
118-
declared.
133+
A property in Rust that allows [variables](types-and-values/variables.md) to
134+
be modified after they have been declared.
119135
- ownership:\
120136
The concept in Rust that defines which part of the code is responsible for
121-
managing the memory associated with a value.
137+
managing the memory associated with a value. See
138+
[Ownership](memory-management/ownership.md).
122139
- panic:\
123140
An unrecoverable error condition in Rust that results in the termination of
124-
the program.
141+
the program. See [Panics](error-handling/panics.md).
125142
- parameter:\
126-
A value that is passed into a function or method when it is called.
143+
A value that is passed into a
144+
[function or method](control-flow-basics/functions.md) when it is called.
127145
- pattern:\
128146
A combination of values, literals, or structures that can be matched against
129-
an expression in Rust.
147+
an expression in Rust. See [Pattern Matching](pattern-matching.md).
130148
- payload:\
131149
The data or information carried by a message, event, or data structure.
132150
- program:\
133151
A set of instructions that a computer can execute to perform a specific task
134-
or solve a particular problem.
152+
or solve a particular problem. See
153+
[Hello, World](types-and-values/hello-world.md).
135154
- programming language:\
136-
A formal system used to communicate instructions to a computer, such as Rust.
155+
A formal system used to communicate instructions to a computer, such as
156+
[Rust](hello-world/what-is-rust.md).
137157
- receiver:\
138-
The first parameter in a Rust method that represents the instance on which the
139-
method is called.
158+
The first parameter in a Rust [method](methods-and-traits/methods.md) that
159+
represents the instance on which the method is called.
140160
- reference counting:\
141161
A memory management technique in which the number of references to an object
142-
is tracked, and the object is deallocated when the count reaches zero.
162+
is tracked, and the object is deallocated when the count reaches zero. See
163+
[Rc](smart-pointers/rc.md).
143164
- return:\
144-
A keyword in Rust used to indicate the value to be returned from a function.
165+
A keyword in Rust used to indicate the value to be returned from a
166+
[function](control-flow-basics/functions.md).
145167
- Rust:\
146168
A systems programming language that focuses on safety, performance, and
147-
concurrency.
169+
concurrency. See [What is Rust?](hello-world/what-is-rust.md).
148170
- Rust Fundamentals:\
149-
Days 1 to 4 of this course.
171+
Days 1 to 4 of this course. See [Welcome to Day 1](welcome-day-1.md).
150172
- Rust in Android:\
151173
See [Rust in Android](android.md).
152174
- Rust in Chromium:\
153175
See [Rust in Chromium](chromium.md).
154176
- safe:\
155177
Refers to code that adheres to Rust's ownership and borrowing rules,
156-
preventing memory-related errors.
178+
preventing memory-related errors. See [Unsafe Rust](unsafe-rust.md).
157179
- scope:\
158-
The region of a program where a variable is valid and can be used.
180+
The region of a program where a variable is valid and can be used. See
181+
[Blocks and Scopes](control-flow-basics/blocks-and-scopes.md).
159182
- standard library:\
160-
A collection of modules providing essential functionality in Rust.
183+
A collection of modules providing essential functionality in Rust. See
184+
[Standard Library](std-types/std.md).
161185
- static:\
162186
A keyword in Rust used to define static variables or items with a `'static`
163-
lifetime.
187+
lifetime. See [static](user-defined-types/static.md).
164188
- string:\
165-
A data type storing textual data. See [Strings](references/strings.html) for
166-
more.
189+
A data type storing textual data. See [Strings](references/strings.md).
167190
- struct:\
168191
A composite data type in Rust that groups together variables of different
169-
types under a single name.
192+
types under a single name. See [Structs](user-defined-types/named-structs.md).
170193
- test:\
171-
A Rust module containing functions that test the correctness of other
172-
functions.
194+
A function that tests the correctness of other code. Rust has a built-in test
195+
runner. See [Testing](testing.md).
173196
- thread:\
174197
A separate sequence of execution in a program, allowing concurrent execution.
198+
See [Threads](concurrency/threads.md).
175199
- thread safety:\
176200
The property of a program that ensures correct behavior in a multithreaded
177-
environment.
201+
environment. See [Send and Sync](concurrency/send-sync.md).
178202
- trait:\
179203
A collection of methods defined for an unknown type, providing a way to
180-
achieve polymorphism in Rust.
204+
achieve polymorphism in Rust. See [Traits](methods-and-traits/traits.md).
181205
- trait bound:\
182206
An abstraction where you can require types to implement some traits of your
183-
interest.
207+
interest. See [Trait Bounds](generics/trait-bounds.md).
184208
- tuple:\
185209
A composite data type that contains variables of different types. Tuple fields
186-
have no names, and are accessed by their ordinal numbers.
210+
have no names, and are accessed by their ordinal numbers. See
211+
[Tuples](tuples-and-arrays/tuples.md).
187212
- type:\
188213
A classification that specifies which operations can be performed on values of
189-
a particular kind in Rust.
214+
a particular kind in Rust. See [Types and Values](types-and-values.md).
190215
- type inference:\
191216
The ability of the Rust compiler to deduce the type of a variable or
192-
expression.
217+
expression. See [Type Inference](types-and-values/inference.md).
193218
- undefined behavior:\
194219
Actions or conditions in Rust that have no specified result, often leading to
195-
unpredictable program behavior.
220+
unpredictable program behavior. See [Unsafe Rust](unsafe-rust.md).
196221
- union:\
197222
A data type that can hold values of different types but only one at a time.
223+
See [Unions](unsafe-rust/unions.md).
198224
- unit test:\
199225
Rust comes with built-in support for running small unit tests and larger
200-
integration tests. See [Unit Tests](testing/unit-tests.html).
226+
integration tests. See [Unit Tests](testing/unit-tests.md).
201227
- unit type:\
202-
Type that holds no data, written as a tuple with no members.
228+
Type that holds no data, written as a tuple with no members. See speaker notes
229+
on [Functions](control-flow-basics/functions.html).
203230
- unsafe:\
204231
The subset of Rust which allows you to trigger _undefined behavior_. See
205232
[Unsafe Rust](unsafe-rust/unsafe.md).
206233
- variable:\
207-
A memory location storing data. Variables are valid in a _scope_.
234+
A memory location storing data. Variables are valid in a _scope_. See
235+
[Variables](types-and-values/variables.md).

0 commit comments

Comments
 (0)