pub struct ResolvedSpecTypes {
pub named_types: HashMap<String, LemmaType>,
pub declared_defaults: HashMap<String, ValueKind>,
pub unit_index: HashMap<String, LemmaType>,
}Expand description
Fully resolved types for a single spec. After resolution, all imports are inlined — specs are independent.
Fields§
§named_types: HashMap<String, LemmaType>Named types: type_name -> fully resolved type
declared_defaults: HashMap<String, ValueKind>Declared default per named type (e.g. type rate: ratio -> default 0.5).
Only present for types that declared a -> default ... constraint anywhere
in their extension chain; the inner-most -> default wins. Defaults live
outside TypeSpecification so the type itself stays free of binding data.
unit_index: HashMap<String, LemmaType>Unit index: unit_name -> resolved type. Built during resolution — if unit appears in multiple types, resolution fails.
Trait Implementations§
Source§impl Clone for ResolvedSpecTypes
impl Clone for ResolvedSpecTypes
Source§fn clone(&self) -> ResolvedSpecTypes
fn clone(&self) -> ResolvedSpecTypes
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ResolvedSpecTypes
impl RefUnwindSafe for ResolvedSpecTypes
impl Send for ResolvedSpecTypes
impl Sync for ResolvedSpecTypes
impl Unpin for ResolvedSpecTypes
impl UnsafeUnpin for ResolvedSpecTypes
impl UnwindSafe for ResolvedSpecTypes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more