Finite state machines in rust; bendns fork to add types.
Diffstat (limited to 'rust-fsm-dsl/src/variant.rs')
-rw-r--r--rust-fsm-dsl/src/variant.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/rust-fsm-dsl/src/variant.rs b/rust-fsm-dsl/src/variant.rs
index 82e981c..86f3b25 100644
--- a/rust-fsm-dsl/src/variant.rs
+++ b/rust-fsm-dsl/src/variant.rs
@@ -113,19 +113,16 @@ impl Variant {
self.ident.to_token_stream()
}
}
- pub fn separate(&self) -> (proc_macro2::TokenStream, proc_macro2::TokenStream) {
+ pub fn separate(&self) -> (proc_macro2::TokenStream, Option<proc_macro2::TokenStream>) {
if let Self {
ident,
field: Some((_, p, g)),
} = self
{
- let b = g
- .as_ref()
- .map(|x| quote::quote! { if (#x) })
- .unwrap_or_default();
+ let b = g.as_ref().map(|x| quote::quote! { #x });
(quote::quote! { #ident(#p) }, b)
} else {
- (self.ident.to_token_stream(), quote::quote! {})
+ (self.ident.to_token_stream(), None)
}
}
}