add `point` to the glossary and link a use of it

This commit is contained in:
Niko Matsakis 2019-06-24 14:44:13 -04:00 committed by Who? Me?!
parent a8de9a1a49
commit ed95356868
2 changed files with 4 additions and 1 deletions

View File

@ -50,6 +50,7 @@ newtype | a "newtype" is a wrapper around some other type (e.g.
NLL | [non-lexical lifetimes](../borrow_check/region_inference.html), an extension to Rust's borrowing system to make it be based on the control-flow graph.
node-id or NodeId | an index identifying a particular node in the AST or HIR; gradually being phased out and replaced with `HirId`.
obligation | something that must be proven by the trait system ([see more](../traits/resolution.html))
point | used in the NLL analysis to refer to some particular location in the MIR; typically used to refer to a node in the control-flow graph.
projection | a general term for a "relative path", e.g. `x.f` is a "field projection", and `T::Item` is an ["associated type projection"](../traits/goals-and-clauses.html#trait-ref)
promoted constants | constants extracted from a function and lifted to static scope; see [this section](../mir/index.html#promoted) for more details.
provider | the function that executes a query ([see more](../query.html))

View File

@ -51,10 +51,12 @@ in the section on outlives constraints.
## Liveness constraints
A **liveness constraint** arises when some variable whose type
includes a region R is live at some point P. This simply means that
includes a region R is live at some [point] P. This simply means that
the value of R must include the point P. Liveness constraints are
computed by the MIR type checker.
[point]: ../../appendix/glossary.html
A liveness constraint `R live at E` is satisfied if `E` is a member of
`Values(R)`. So to "apply" such a constraint to `Values`, we just have
to compute `Values(R) = Values(R) union {E}`.