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.rs9
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! {