Skip to main content

Module visibility

Module visibility 

Source

Structs§

ExportedTypeDef
An exported type definition with its opaque flag.
ModuleExports
Everything a module exports — functions and types that passed visibility filtering.
ModuleTypeDef
Type definition collected from a module — backend-agnostic metadata.
SymbolEntry
A registered symbol with its canonical name and kind.
SymbolRegistry
All symbols exported by a module tree — canonical source of truth.

Enums§

ModuleTypeKind
SymbolKind

Functions§

collect_all_module_symbols
Collect ALL functions and types from a module — no visibility filtering. Used by codegen which emits full module implementations including private helpers.
collect_module_exports
Collect all exported items from a parsed module. Applies visibility rules: exposes list, underscore convention, opaque types.
collect_module_types
Collect all type definitions from parsed AST items. Pure function over AST — no backend state.
is_exposed
Check whether a module item is exposed to the outside. exposes = None means the module uses the default rule (hide _-prefixed items). exposes = Some(list) means only items in the explicit list are exposed.
member_key
“Type.member” — type-scoped key (constructor, field, variant).
module_decl
Extract the module declaration from parsed items.
qualified_member_key
“Module.Type.member” — fully-qualified type-scoped key.
qualified_name
“Module.function” — qualified name for cross-module function references.