Finite state machines in rust; bendns fork to add types.
-rw-r--r--rust_fsm_dsl/src/lib.rs7
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();