pub trait Machine:
Sized
+ 'static
+ Send
+ Sync {
type Input: Input;
type State: State;
// Required methods
fn init(&self, input: &Self::Input) -> Self::State;
fn next(&self, state: &Self::State, input: &Self::Input) -> Self::State;
}
Expand description
Finite-state machine intended to be verifiable by machine-check.
To actually be verifiable by machine-check, further processing must be done by enclosing the structures
and Input
, State
, and Machine
implementations within the machine_description
macro.
Required Associated Types§
Required Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.