Finite state machines in rust; bendns fork to add types.
v0.6.0
Yevhenii Babichenko 2021-08-24
parent 35562df · commit c48b19f
-rw-r--r--CHANGELOG.md7
-rw-r--r--Cargo.toml4
-rw-r--r--rust_fsm_dsl/Cargo.toml6
-rw-r--r--rust_fsm_dsl/src/lib.rs8
4 files changed, 15 insertions, 10 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 954fd0f..2855aa8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ adheres to [Semantic Versioning][semver].
## [Unreleased]
+## [0.6.0] - 2021-08-24
+### Changed
+* Updated to `1.x` versions of `syn` and `quote`.
+
## [0.5.0] - 2021-02-23
### Added
* The re-export of the DSL implementation is gated by the `dsl` feature which is
@@ -59,7 +63,8 @@ adheres to [Semantic Versioning][semver].
[keepachangelog]: https://keepachangelog.com/en/1.0.0/
[semver]: https://semver.org/spec/v2.0.0.html
-[Unreleased]: https://github.com/eugene-babichenko/rust-fsm/compare/v0.5.0...HEAD
+[Unreleased]: https://github.com/eugene-babichenko/rust-fsm/compare/v0.6.0...HEAD
+[0.6.0]: https://github.com/eugene-babichenko/rust-fsm/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/eugene-babichenko/rust-fsm/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/eugene-babichenko/rust-fsm/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/eugene-babichenko/rust-fsm/compare/v0.2.0...0.3.0
diff --git a/Cargo.toml b/Cargo.toml
index 93e668c..04eba26 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,7 +8,7 @@ readme = "README.md"
license = "MIT"
categories = ["data-structures", "rust-patterns"]
keywords = ["fsm"]
-version = "0.5.0"
+version = "0.6.0"
authors = ["Yevhenii Babichenko"]
edition = "2018"
@@ -18,7 +18,7 @@ std = []
dsl = ["rust-fsm-dsl"]
[dependencies]
-rust-fsm-dsl = { path = "./rust_fsm_dsl", version = "0.5.0", optional = true }
+rust-fsm-dsl = { path = "./rust_fsm_dsl", version = "0.6.0", optional = true }
[profile.dev]
panic = "abort"
diff --git a/rust_fsm_dsl/Cargo.toml b/rust_fsm_dsl/Cargo.toml
index 52201a1..4803017 100644
--- a/rust_fsm_dsl/Cargo.toml
+++ b/rust_fsm_dsl/Cargo.toml
@@ -8,7 +8,7 @@ readme = "../README.md"
license = "MIT"
categories = ["data-structures", "rust-patterns"]
keywords = ["fsm"]
-version = "0.5.0"
+version = "0.6.0"
authors = ["Yevhenii Babichenko"]
edition = "2018"
@@ -16,5 +16,5 @@ edition = "2018"
proc-macro = true
[dependencies]
-syn = "0.15"
-quote = "0.6"
+syn = "1"
+quote = "1"
diff --git a/rust_fsm_dsl/src/lib.rs b/rust_fsm_dsl/src/lib.rs
index e6b9e10..e037aa6 100644
--- a/rust_fsm_dsl/src/lib.rs
+++ b/rust_fsm_dsl/src/lib.rs
@@ -6,7 +6,7 @@ extern crate proc_macro;
use proc_macro::TokenStream;
use quote::quote;
-use std::collections::HashSet;
+use std::collections::BTreeSet;
use syn::{parse_macro_input, Ident};
mod parser;
@@ -55,9 +55,9 @@ pub fn state_machine(tokens: TokenStream) -> TokenStream {
})
.collect();
- let mut states = HashSet::new();
- let mut inputs = HashSet::new();
- let mut outputs = HashSet::new();
+ let mut states = BTreeSet::new();
+ let mut inputs = BTreeSet::new();
+ let mut outputs = BTreeSet::new();
states.insert(&input.initial_state);