Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Элементы

Syntax
Item
    OuterAttribute* ( VisItem | MacroItem )

VisItem
    Visibility?
    (
        Module
      | ExternCrate
      | UseDeclaration
      | Function
      | TypeAlias
      | Struct
      | Enumeration
      | Union
      | ConstantItem
      | StaticItem
      | Trait
      | Implementation
      | ExternBlock
    )

MacroItem
      MacroInvocationSemi
    | MacroRulesDefinition

Элемент - это компонент крейта. Элементы организуются внутри крейта с помощью вложенной системы модулей. Каждый крейт имеет один “внешний” анонимный модуль; все остальные элементы внутри крейта имеют пути в дереве модулей крейта.

Элементы полностью определяются во время компиляции, обычно остаются неизменными в течение выполнения и могут находиться в памяти только для чтения.

Существует несколько видов элементов:

Элементы могут быть объявлены в корне крейта, в модуле или в блочном выражении.

Подмножество элементов, называемых ассоциированными элементами, может быть объявлено в трейтах и реализациях.

Подмножество элементов, называемых внешними элементами, может быть объявлено во внешних блоках.

Элементы могут быть определены в любом порядке, за исключением macro_rules, который имеет собственное поведение областей видимости.

Разрешение имён элементов позволяет определять элементы до или после того, как на элемент ссылаются в модуле или блоке.

См. области видимости элементов для получения информации о правилах областей видимости элементов.