pub struct MachineSchema {Show 17 fields
pub machine: MachineId,
pub version: u32,
pub rust: RustBinding,
pub state: StateSchema,
pub inputs: EnumSchema,
pub surface_only_inputs: Vec<InputVariantId>,
pub runtime_internal_inputs: Vec<InputVariantId>,
pub signals: EnumSchema,
pub effects: EnumSchema,
pub helpers: Vec<HelperSchema>,
pub derived: Vec<HelperSchema>,
pub command_plans: Vec<CommandPlanSchema>,
pub invariants: Vec<InvariantSchema>,
pub transitions: Vec<TransitionSchema>,
pub effect_dispositions: Vec<EffectDispositionRule>,
pub named_types: Vec<NamedTypeBinding>,
pub ci_step_limit: Option<u32>,
}Fields§
§machine: MachineId§version: u32§rust: RustBinding§state: StateSchema§inputs: EnumSchema§surface_only_inputs: Vec<InputVariantId>§runtime_internal_inputs: Vec<InputVariantId>Inputs that are part of the DSL alphabet but intentionally internal to machine/composition drivers rather than public runtime command surfaces.
signals: EnumSchema§effects: EnumSchema§helpers: Vec<HelperSchema>§derived: Vec<HelperSchema>§command_plans: Vec<CommandPlanSchema>Generated command/capability plans that group existing inputs, transitions, guards, and effects into an auditable authority surface.
invariants: Vec<InvariantSchema>§transitions: Vec<TransitionSchema>§effect_dispositions: Vec<EffectDispositionRule>§named_types: Vec<NamedTypeBinding>Authoritative Rust-type mapping for every TypeRef::Named(NamedTypeId)
referenced in this schema. The codegen consults this table rather
than matching on the type’s name; a NamedTypeId referenced
without a matching binding is a schema-construction error.
ci_step_limit: Option<u32>Override the CI step_limit for individual machine TLC verification.
Machines with many state fields (e.g. a rich MobMachine flow/work region)
may need a lower limit to keep CI verification tractable. None uses the
codegen default (6 for CI, 8 for deep).
Implementations§
Source§impl MachineSchema
impl MachineSchema
Sourcepub fn named_type_binding(
&self,
name: &NamedTypeId,
) -> Option<&NamedTypeBinding>
pub fn named_type_binding( &self, name: &NamedTypeId, ) -> Option<&NamedTypeBinding>
Look up the authoritative Rust binding for a named type referenced
by this schema. Returns None if the type is unbound.
Source§impl MachineSchema
impl MachineSchema
pub fn validate(&self) -> Result<(), MachineSchemaError>
Trait Implementations§
Source§impl Clone for MachineSchema
impl Clone for MachineSchema
Source§fn clone(&self) -> MachineSchema
fn clone(&self) -> MachineSchema
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MachineSchema
impl Debug for MachineSchema
impl Eq for MachineSchema
Source§impl PartialEq for MachineSchema
impl PartialEq for MachineSchema
Source§fn eq(&self, other: &MachineSchema) -> bool
fn eq(&self, other: &MachineSchema) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for MachineSchema
Auto Trait Implementations§
impl Freeze for MachineSchema
impl RefUnwindSafe for MachineSchema
impl Send for MachineSchema
impl Sync for MachineSchema
impl Unpin for MachineSchema
impl UnsafeUnpin for MachineSchema
impl UnwindSafe for MachineSchema
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.