项
语法
项 (Item):
外部属性 (OuterAttribute)*
可见项 (VisItem)
| 宏项 (MacroItem)可见项 (VisItem):
可见性 (Visibility)?
(
模块 (Module)
| 外部 crate (ExternCrate)
| use 声明 (UseDeclaration)
| 函数 (Function)
| 类型别名 (TypeAlias)
| 结构体 (Struct)
| 枚举 (Enumeration)
| 联合体 (Union)
| 常量项 (ConstantItem)
| 静态项 (StaticItem)
| trait (Trait)
| 实现 (Implementation)
| extern 块 (ExternBlock)
)宏项 (MacroItem):
宏调用并带分号 (MacroInvocationSemi)
| macro_rules 定义 (MacroRulesDefinition)
一个 项(item) 是一个 crate 的组成部分。项通过一套嵌套的模块组织在一个 crate 内部。每个 crate 都有一个单独的“最外层”匿名模块;crate 内的所有其他项在 crate 的模块树中都有其路径。
项完全在编译时确定,通常在执行期间保持固定,并且可能驻留在只读内存中。
有几种类型的项
项的一个子集,称为外部项,可以声明在extern
块中。
除了 macro_rules
有其自身的范围行为外,项可以按任意顺序定义。
项名称的名称解析允许项在其在模块或块中被引用之前或之后定义。
关于项的范围规则的信息,请参阅项范围。