You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/appendix/glossary.md
+2-3Lines changed: 2 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -33,8 +33,8 @@ HirId <div id="hir-id"/> | Identifies a particular node in the
33
33
HIR Map <divid="hir-map"/> | The HIR map, accessible via tcx.hir, allows you to quickly navigate the HIR and convert between various forms of identifiers.
34
34
ICE <divid="ice"/> | Short for internal compiler error, this is when the compiler crashes.
35
35
ICH <divid="ich"/> | Short for incremental compilation hash, these are used as fingerprints for things such as HIR and crate metadata, to check if changes have been made. This is useful in incremental compilation to see if part of a crate has changed and should be recompiled.
36
-
inference variable <divid="inf-var"/> | When doing type or region inference, an "inference variable" is a kind of special type/region that represents what you are trying to infer. Think of X in algebra. For example, if we are trying to infer the type of a variable in a program, we create an inference variable to represent that unknown type.
37
36
infcx <divid="infcx"/> | The inference context (see `librustc_middle/infer`)
37
+
inference variable <divid="inf-var"/> | When doing type or region inference, an "inference variable" is a kind of special type/region that represents what you are trying to infer. Think of X in algebra. For example, if we are trying to infer the type of a variable in a program, we create an inference variable to represent that unknown type.
38
38
intern <divid="intern"/> | Interning refers to storing certain frequently-used constant data, such as strings, and then referring to the data by an identifier (e.g. a `Symbol`) rather than the data itself, to reduce memory usage and number of allocations. See [this chapter](../memory.md) for more info.
39
39
IR <divid="ir"/> | Short for Intermediate Representation, a general term in compilers. During compilation, the code is transformed from raw source (ASCII text) to various IRs. In Rust, these are primarily HIR, MIR, and LLVM IR. Each IR is well-suited for some set of computations. For example, MIR is well-suited for the borrow checker, and LLVM IR is well-suited for codegen because LLVM accepts it.
40
40
IRLO <divid="irlo"/> | `IRLO` or `irlo` is sometimes used as an abbreviation for [internals.rust-lang.org](https://internals.rust-lang.org).
@@ -71,11 +71,10 @@ span <div id="span"/> | A location in the user's source code
71
71
substs <divid="substs"/> | The substitutions for a given generic type or item (e.g. the `i32`, `u32` in `HashMap<i32, u32>`).
72
72
tcx <divid="tcx"/> | The "typing context", main data structure of the compiler. ([see more](../ty.html))
73
73
'tcx <divid="lifetime-tcx"/> | The lifetime of the allocation arena. ([see more](../ty.html))
74
-
trait reference <divid="trait-ref"/> | The name of a trait along with a suitable set of input type/lifetimes. ([see more](../traits/goals-and-clauses.html#trait-ref))
75
74
token <divid="token"/> | The smallest unit of parsing. Tokens are produced after lexing ([see more](../the-parser.html)).
76
75
[TLS] <divid="tls"/> | Thread-Local Storage. Variables may be defined so that each thread has its own copy (rather than all threads sharing the variable). This has some interactions with LLVM. Not all platforms support TLS.
76
+
trait reference <divid="trait-ref"/> | The name of a trait along with a suitable set of input type/lifetimes. ([see more](../traits/goals-and-clauses.html#trait-ref))
77
77
trans <divid="trans"/> | The code to translate MIR into LLVM IR. Renamed to codegen.
78
-
trait reference <divid="trait-ref-ty"/> | A trait and values for its type parameters. ([see more](../ty.html))
79
78
ty <divid="ty"/> | The internal representation of a type. ([see more](../ty.html))
80
79
UFCS <divid="ufcs"/> | Short for Universal Function Call Syntax, this is an unambiguous syntax for calling a method. ([see more](../type-checking.html))
81
80
uninhabited type <divid="ut"/> | A type which has _no_ values. This is not the same as a ZST, which has exactly 1 value. An example of an uninhabited type is `enum Foo {}`, which has no variants, and so, can never be created. The compiler can treat code that deals with uninhabited types as dead code, since there is no such value to be manipulated. `!` (the never type) is an uninhabited type. Uninhabited types are also called "empty types".
0 commit comments