11# Names
22
33An * entity* is a language construct that can be referred to in some way within
4- the source program, usually via a [ * path* ] . Entities include [ types] , [ items] ,
4+ the source program, usually via a [ path] . Entities include [ types] , [ items] ,
55[ generic parameters] , [ variable bindings] , [ loop labels] , [ lifetimes] ,
66[ fields] , [ attributes] , and [ lints] .
77
88A * declaration* is a syntactical construct that can introduce a * name* to
99refer to an entity. Entity names are valid within a [ * scope* ] — a region of
1010source text where that name may be referenced.
1111
12- Some entities are [ explicitly declared] ( #explicit- entities ) in the source
13- code, and some are [ implicitly declared] ( #implicit- entities ) as part of the
14- language or compiler extensions.
12+ Some entities are [ explicitly declared] ( #explicitly-declared- entities ) in the
13+ source code, and some are [ implicitly declared] ( #implicitly-declared- entities )
14+ as part of the language or compiler extensions.
1515
1616[ * Paths* ] are used to refer to an entity, possibly in another scope. Lifetimes
1717and loop labels use a [ dedicated syntax] [ lifetimes-and-loop-labels ] using a
@@ -25,7 +25,7 @@ and labels to entity declarations.
2525
2626Access to certain names may be restricted based on their [ * visibility* ] .
2727
28- ## Explicit entities
28+ ## Explicitly declared entities
2929
3030Entities that explicitly introduce a name in the source code are:
3131
@@ -59,7 +59,7 @@ Entities that explicitly introduce a name in the source code are:
5959Additionally, [ macro invocations] and [ attributes] can introduce names by
6060expanding to one of the above items.
6161
62- ## Implicit entities
62+ ## Implicitly declared entities
6363
6464The following entities are implicitly defined by the language, or are
6565introduced by compiler options and extensions:
@@ -85,7 +85,6 @@ to with certain [path qualifiers] or aliases.
8585
8686[ *Name resolution* ] : names/name-resolution.md
8787[ *namespaces* ] : names/namespaces.md
88- [ *path* ] : paths.md
8988[ *paths* ] : paths.md
9089[ *scope* ] : names/scopes.md
9190[ *visibility* ] : visibility-and-privacy.md
@@ -128,6 +127,7 @@ to with certain [path qualifiers] or aliases.
128127[ macro invocations ] : macros.md#macro-invocation
129128[ matcher metavariables ] : macros-by-example.md#metavariables
130129[ Module declarations ] : items/modules.md
130+ [ path ] : paths.md
131131[ path qualifiers ] : paths.md#path-qualifiers
132132[ Standard library prelude ] : names/preludes.md#standard-library-prelude
133133[ Static item declarations ] : items/static-items.md
0 commit comments