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: PathBufThe file containing the export.
export_name: StringThe export name being traced.
namespace: SemanticNamespaceNamespace 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: boolWhether the file is reachable from an entry point.
is_entry_point: boolWhether the file is an entry point.
is_used: boolWhether 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: StringHuman-readable reason summary.
semantic: Option<SemanticSymbolTrace>Exact checker-backed references when type-aware tracing is enabled.