Finite state machines in rust; bendns fork to add types.
| -rw-r--r-- | rust_fsm_dsl/src/lib.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/rust_fsm_dsl/src/lib.rs b/rust_fsm_dsl/src/lib.rs index b33edc2..7bf2a7e 100644 --- a/rust_fsm_dsl/src/lib.rs +++ b/rust_fsm_dsl/src/lib.rs @@ -72,6 +72,13 @@ impl Parse for StateMachineDef { pub fn state_machine(tokens: TokenStream) -> TokenStream { let input = parse_macro_input!(tokens as StateMachineDef); + if input.transitions.is_empty() { + let output = quote! { + compile_error!("rust-fsm: at least one state transition must be provided"); + }; + return output.into(); + } + let struct_name = input.name; let mut states = HashSet::new(); |