Skip to main content

TraceExportOutput

Type Alias TraceExportOutput 

Source
pub type TraceExportOutput = ExportTrace;
Expand description

Concrete export trace output returned by typed programmatic runs.

Aliased Type§

pub struct TraceExportOutput {
    pub file: PathBuf,
    pub export_name: String,
    pub namespace: SemanticNamespace,
    pub file_reachable: bool,
    pub is_entry_point: bool,
    pub is_used: bool,
    pub direct_references: Vec<ExportReference>,
    pub direct_references_by_namespace: Vec<NamespacedExportReferences>,
    pub star_export_ambiguity: Option<StarExportAmbiguity>,
    pub re_export_chains: Vec<ReExportChain>,
    pub reason: String,
    pub semantic: Option<SemanticSymbolTrace>,
}

Fields§

§file: PathBuf

The file containing the export.

§export_name: String

The export name being traced.

§namespace: SemanticNamespace

Namespace whose references are listed for the traced export. The preferred lane wins whenever it carries a reference: value for a value export, type for a type-only one. When the preferred lane carries none and the other lane resolves to the same declaration, the other lane’s references are listed and this field names it, so a value export whose only credit is a bound import type reports type with is_used: true. is_used and direct_references follow the listed lane only, and only reachable reference sources can credit it. Legal declaration merges share one declaration group across lanes, including an interface next to a same-name class and a class next to a same-name namespace, so references to either lane credit the merged declaration. Distinct same-name declarations outside a merge remain separate and keep the preferred lane. semantic.target.namespace names the lane the declaration itself occupies and can therefore differ from this field. Producers always emit the field; the schema permits omission by payloads created before namespaces were exposed.

§file_reachable: bool

Whether the file is reachable from an entry point.

§is_entry_point: bool

Whether the file is an entry point.

§is_used: bool

Whether the export is considered used.

§direct_references: Vec<ExportReference>

Files that reference this export directly.

§direct_references_by_namespace: Vec<NamespacedExportReferences>

Reachable direct references grouped by namespace. This is additive to namespace and direct_references, whose winning-lane meaning remains unchanged for backwards compatibility.

§star_export_ambiguity: Option<StarExportAmbiguity>

A star-export collision that makes the traced name ambiguous. When present, is_used: false is an abstention rather than an unused-code verdict.

§re_export_chains: Vec<ReExportChain>

Re-export chains that pass through this export.

§reason: String

Human-readable reason summary.

§semantic: Option<SemanticSymbolTrace>

Exact checker-backed references when type-aware tracing is enabled.