crs-bind 0.1.5

A stripped down version of qvex/vex-rt so I can do less than safe things with QUEEN's bindings for my own crassipes project. Please don't actually use this unless you need to access the bindings directly.
//! Support for synchronous and asynchronous state machines.

/// Denotes a type which represents a state machine.
pub trait StateMachine {
    /// The state type used by the state machine.
    type State: Ord;

    /// Gets the current state of the state machine.
    fn state(&self) -> Self::State;

    /// Transitions the state machine to a new state.
    fn transition(&self, state: Self::State);
}