//! Compile-fail: Attempting a typestate transition with a type that doesn't
//! implement the sealed state machine trait.
//! The define_state_machine! macro creates a sealed trait that external types
//! cannot implement. This ensures only declared states are valid transition
//! endpoints.
use Transition;
use EventKind;
// Define a state machine with two states via the macro.
define_state_machine!;
// A function that only accepts transitions FROM a valid LockState.