Finite state machines in rust; bendns fork to add types.
-rw-r--r--.github/workflows/tests.yml1
-rw-r--r--rust-fsm-dsl/src/lib.rs6
-rw-r--r--rust-fsm-dsl/src/parser.rs6
3 files changed, 7 insertions, 6 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index a99b304..b24d88b 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -28,6 +28,7 @@ jobs:
uses: actions-rs/cargo@v1
with:
command: clippy
+ args: --all-features -- -D warnings
- name: Ensure the library compiles in a no_std env
uses: actions-rs/cargo@v1
diff --git a/rust-fsm-dsl/src/lib.rs b/rust-fsm-dsl/src/lib.rs
index e037aa6..690dbc6 100644
--- a/rust-fsm-dsl/src/lib.rs
+++ b/rust-fsm-dsl/src/lib.rs
@@ -62,9 +62,9 @@ pub fn state_machine(tokens: TokenStream) -> TokenStream {
states.insert(&input.initial_state);
for transition in transitions.iter() {
- states.insert(&transition.initial_state);
- states.insert(&transition.final_state);
- inputs.insert(&transition.input_value);
+ states.insert(transition.initial_state);
+ states.insert(transition.final_state);
+ inputs.insert(transition.input_value);
if let Some(ref output) = transition.output {
outputs.insert(output);
}
diff --git a/rust-fsm-dsl/src/parser.rs b/rust-fsm-dsl/src/parser.rs
index 696fa84..25a1283 100644
--- a/rust-fsm-dsl/src/parser.rs
+++ b/rust-fsm-dsl/src/parser.rs
@@ -24,9 +24,9 @@ impl Parse for Output {
}
}
-impl Into<Option<Ident>> for Output {
- fn into(self) -> Option<Ident> {
- self.0
+impl From<Output> for Option<Ident> {
+ fn from(output: Output) -> Self {
+ output.0
}
}