第12章 名称

名称 — The Rust Reference

译文 · 基于 The Rust Reference

原文链接: https://doc.rust-lang.org/reference/names.html

r[names]

名称

r[names.intro] 实体(entity)是可在源程序中以某种方式引用的语言构造,通常通过路径引用。实体包括类型、项、泛型参数、变量绑定、循环标签、生命周期、字段、属性以及lint。

声明(declaration)是可引入名称以引用实体的语法构造。实体名称在作用域内有效——即源文本中可引用该名称的区域。

一些实体在源代码中被显式声明,另一些则作为语言或编译器扩展的一部分被隐式声明。

路径用于引用实体,该实体可能位于另一模块或类型中。

生命周期与循环标签使用带有前导引号的专用语法。

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

名称解析是将路径、标识符与标签绑定到实体声明的编译期过程。

对某些名称的访问可能因其可见性而受到限制。

r[names.explicit]

显式声明的实体

r[names.explicit.list] 在源代码中显式引入名称的实体有:

r[names.explicit.item-decl]

r[names.explicit.expr]

r[names.explicit.generics]

r[names.explicit.higher-ranked-bounds]

r[names.explicit.binding]

r[names.explicit.macro_use]

r[names.explicit.macro_export]

r[names.explicit.macro-invocation] 此外,宏调用与属性可通过展开为上述项之一来引入名称。

r[names.implicit]

隐式声明的实体

r[names.implicit.list] 下列实体由语言隐式定义,或由编译器选项与扩展引入:

r[names.implicit.primitive-types]

r[names.implicit.builtin-attributes]

r[names.implicit.prelude]

r[names.implicit.stdlib]

r[names.implicit.extern-prelude]

r[names.implicit.tool-attributes]

r[names.implicit.lints]

r[names.implicit.derive-helpers]

r[names.implicit.lifetime-static]

r[names.implicit.root] 此外,crate 根模块没有名称,但可通过某些路径限定符或别名引用。


01-命名空间

命名空间 — The Rust Reference

02-作用域

作用域 — The Rust Reference

03-Prelude

Prelude — The Rust Reference

04-路径

路径 — The Rust Reference

05-名称解析

名称解析 — The Rust Reference

06-可见性与私有性

可见性与私有性 — The Rust Reference

最后修改 August 21, 2026: 更新 (76fc81a2e)