[package]
edition = "2024"
name = "MagicStateMachines"
version = "0.1.2"
build = false
exclude = [
".direnv/",
".envrc",
"devel.nix",
"flake.lock",
"flake.nix",
"test_def/",
"test_use/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Ergonomic typestate wrappers for compiler-enforced state machines with separable contracts"
homepage = "https://github.com/sirati/MagicStateMachines"
documentation = "https://docs.rs/MagicStateMachines"
readme = "README.md"
keywords = [
"state-machine",
"typestate",
"compile-time",
"zero-cost",
"async",
]
categories = [
"rust-patterns",
"data-structures",
"no-std",
"asynchronous",
"concurrency",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/sirati/MagicStateMachines"
[features]
alloc = []
decompose = []
decompose-rand = [
"decompose",
"dep:rand",
]
default = ["std"]
dynZST = ["dep:dynzst"]
gen_no_unsafe = []
nightly-random = []
no-std = []
std = ["alloc"]
tracing = ["alloc"]
unique-rc-arc = ["std"]
[lib]
name = "magicstatemachines"
path = "src/lib.rs"
[dependencies.dynzst]
version = "0.1.2"
optional = true
[dependencies.paste]
version = "1.0.15"
[dependencies.rand]
version = "0.9.2"
features = ["os_rng"]
optional = true
default-features = false