Skip to content

Commit 5ccccbd

Browse files
author
Samuel Wilson
committed
Merge branch 'glossary-fat-pointers' of https://github.com/samWson/rustc-guide into glossary-fat-pointers
2 parents 00abaaa + 4e82c2e commit 5ccccbd

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/appendix-glossary.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ cx | we tend to use "cx" as an abbrevation for context. Se
1616
DAG | a directed acyclic graph is used during compilation to keep track of dependencies between queries. ([see more](incremental-compilation.html))
1717
data-flow analysis | a static analysis that figures out what properties are true at each point in the control-flow of a program; see [the background chapter for more](./appendix-background.html#dataflow)
1818
DefId | an index identifying a definition (see `librustc/hir/def_id.rs`). Uniquely identifies a `DefPath`.
19-
Double pointer | a pointer with additional metadata. See "fat pointer" for more.
20-
Fat pointer | a two word value carrying the address of some value, along with some further information necessary to put the value to use. Rust includes two kinds of "fat pointers": references to slices, and trait objects. A reference to a slice carries the starting address of the slice and its length. A trait object carries a value's address and a pointer to the trait's implementation appropriate to that value. "Fat pointers" are also known as "wide pointers", and "double pointers".
19+
double pointer | a pointer with additional metadata. See "fat pointer" for more.
20+
fat pointer | a two word value carrying the address of some value, along with some further information necessary to put the value to use. Rust includes two kinds of "fat pointers": references to slices, and trait objects. A reference to a slice carries the starting address of the slice and its length. A trait object carries a value's address and a pointer to the trait's implementation appropriate to that value. "Fat pointers" are also known as "wide pointers", and "double pointers".
2121
free variable | a "free variable" is one that is not bound within an expression or term; see [the background chapter for more](./appendix-background.html#free-vs-bound)
2222
'gcx | the lifetime of the global arena ([see more](ty.html))
2323
generics | the set of generic type parameters defined on a type or item
@@ -62,7 +62,7 @@ trait reference | a trait and values for its type parameters ([see more
6262
ty | the internal representation of a type ([see more](ty.html)).
6363
UFCS | Universal Function Call Syntax. An unambiguous syntax for calling a method ([see more](type-checking.html)).
6464
variance | variance determines how changes to a generic type/lifetime parameter affect subtyping; for example, if `T` is a subtype of `U`, then `Vec<T>` is a subtype `Vec<U>` because `Vec` is *covariant* in its generic parameter. See [the background chapter](./appendix-background.html#variance) for a more general explanation. See the [variance chapter](./variance.html) for an explanation of how type checking handles variance.
65-
Wide pointer | a pointer with additional metadata. See "fat pointer" for more.
65+
wide pointer | a pointer with additional metadata. See "fat pointer" for more.
6666

6767
[LLVM]: https://llvm.org/
6868
[lto]: https://llvm.org/docs/LinkTimeOptimization.html

0 commit comments

Comments
 (0)