Finite state machines in rust; bendns fork to add types.
Diffstat (limited to 'rust-fsm-dsl/src/lib.rs')
| -rw-r--r-- | rust-fsm-dsl/src/lib.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/rust-fsm-dsl/src/lib.rs b/rust-fsm-dsl/src/lib.rs index 07ebb69..ba4ef46 100644 --- a/rust-fsm-dsl/src/lib.rs +++ b/rust-fsm-dsl/src/lib.rs @@ -32,10 +32,11 @@ pub fn state_machine(tokens: TokenStream) -> TokenStream { quote! {} }; - #[cfg(feature = "repr_c")] - let type_repr = quote! { #[repr(C)] }; - #[cfg(not(feature = "repr_c"))] - let type_repr = quote! { }; + let type_repr = if let Some(true) = input.repr_c { + quote! { #[repr(C)] } + } else { + quote! {} + }; if input.transitions.is_empty() { let output = quote! { |