pub trait Machine:
Sized
+ 'static
+ Send
+ Sync {
type Input: Input;
type Param: Param;
type State: State;
// Required methods
fn init(&self, input: &Self::Input, param: &Self::Param) -> Self::State;
fn next(
&self,
state: &Self::State,
input: &Self::Input,
param: &Self::Param,
) -> 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 the Machine implementation 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".