pub struct ResolvedSpecTypes {
pub resolved: IndexMap<String, Arc<LemmaType>>,
pub declared_suggestions: IndexMap<String, BoundValueKind>,
pub declared_values: IndexMap<String, BoundValueKind>,
pub unit_index: UnitIndex,
pub signature_index: SignatureIndex,
/* private fields */
}Expand description
Fully resolved types for a single spec. After resolution, all imports are inlined — specs are independent.
Fields§
§resolved: IndexMap<String, Arc<LemmaType>>Resolved LemmaType for each data type row name declared in this spec (data name: …).
Planning-only: includes measure units and post-resolve_measure_decompositions decomposition.
declared_suggestions: IndexMap<String, BoundValueKind>Declared default per named type (e.g. type rate: ratio -> suggest 50%).
Only present for types that declared a -> suggest ... constraint anywhere
in their extension chain; the inner-most -> suggest wins. Defaults live
outside TypeSpecification so the type itself stays free of binding data.
Populated after [bound_value_kind_from_raw_suggestion] (post-decomposition).
declared_values: IndexMap<String, BoundValueKind>Declared value per named type (e.g. type rate: ratio -> with 50%).
Only present for types that declared a -> with ... constraint anywhere
in their extension chain; the inner-most -> with wins.
unit_index: UnitIndexExpression-scope units. One declarer per bare unit name; qualify with Type.unit or alias.Type.unit. Binding aliases never appear as index keys.
signature_index: SignatureIndexReverse index: canonical-form unit signature → (unit_name, owning type).
Built from Self::unit_index during resolve; cloned into the execution plan.