名称

实体 是一种语言构造,可以通过某种方式在源程序中引用,通常是通过 路径 。 实体包括 类型条目泛型参数变量绑定循环标签生命周期字段属性代码分析

声明 是一种语法构造,可以引入 名称 来引用一个实体。实体名称在 作用域 内是有效的 —— 源文本的一个区域,可以在其中引用该名称。 一些实体在源代码中 显式声明,一些实体则作为语言或编译器扩展的一部分 隐式声明

路径 用于引用实体,可能在另一个作用域中。生命周期和循环标签使用 专用语法,使用前导引号。

名称被分为不同的 命名空间 ,允许不同命名空间中的实体共享相同的名称而不冲突。

名称解析 是将路径、标识符和标签与实体声明联系起来的编译时过程。

根据 可见性 ,访问某些名称可能会受到限制。

显式声明的实体

在源代码中显式引入名称的实体包括:

此外, 宏调用属性 可以通过扩展为上述项之一而引入名称。

隐式声明的实体

以下实体是由语言隐式定义的,或者是由编译器选项和扩展引入的:

此外,crate 根模块没有名称,但可以用某些 路径限定符 或别名来引用。