pub enum Export {
Class {
symbol: Symbol,
class_id: Option<ClassId>,
},
Function {
symbol: Symbol,
function_id: Option<FunctionId>,
},
Macro {
symbol: Symbol,
macro_id: Option<MacroId>,
},
Shape {
symbol: Symbol,
shape_id: Option<ShapeId>,
},
Codec {
symbol: Symbol,
codec_id: Option<CodecId>,
},
NumberDomain {
symbol: Symbol,
number_domain_id: Option<NumberDomainId>,
},
Value {
symbol: Symbol,
},
Site {
symbol: Symbol,
runtime_id: Option<RuntimeId>,
},
Open {
kind: ExportKind,
symbol: Symbol,
},
}Expand description
A single export declared by a library manifest, by export kind.
Variants§
Class
A class export; class_id is present once a stable id is reserved.
Fields
Function
A function export; function_id is present once a stable id is reserved.
Fields
function_id: Option<FunctionId>Reserved stable function id, if known.
Macro
A macro export; macro_id is present once a stable id is reserved.
Fields
Shape
A shape export; shape_id is present once a stable id is reserved.
Fields
Codec
A codec export; codec_id is present once a stable id is reserved.
Fields
NumberDomain
A number-domain export; number_domain_id is present once reserved.
Fields
number_domain_id: Option<NumberDomainId>Reserved stable number-domain id, if known.
Value
A plain value export.
Site
An opaque placement-site export.
The symbol is the placement key. The kernel stores only the runtime value and stable id; libraries outside the kernel decide whether that value behaves as an evaluation site.
Fields
Open
An open export declaration with no kernel runtime-value model.
Open declarations let manifests name export kinds that the kernel does not resolve itself. They can commit as declared, unsupported, or invalid export records, but they do not carry stable runtime ids.
Implementations§
Source§impl Export
impl Export
Sourcepub fn kind_symbol(&self) -> ExportKind
pub fn kind_symbol(&self) -> ExportKind
Returns this export’s kind as an ExportKind tag.
Sourcepub fn declared_record(&self) -> ExportRecord
pub fn declared_record(&self) -> ExportRecord
Builds a Declared ExportRecord for this
export.