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>,
},
}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.
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.