Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
41 lines (38 loc) · 1.61 KB
/
Copy pathCargo.toml
File metadata and controls
41 lines (38 loc) · 1.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[workspace]
resolver = "3"
members = [
"hexser",
"hexser_macros",
"hexser_potions",
]
[workspace.dependencies]
# Shared proc-macro tooling. The derives only parse DeriveInput and use parse_quote for
# types/where-predicates, so syn's default features suffice — dropping the heavy `full`
# (full-expression grammar) and `extra-traits` (Debug/Eq/Hash on syn AST) features cuts
# compile time for the macro crate and every downstream build that uses `macros`.
syn = "2.0"
quote = "1.0"
proc-macro2 = "1.0"
darling = "0.20"
# Runtime and utility crates
inventory = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
# PRD-272 §1.5/§3.G: wait-free RCU for shared-read, sole-write-site state (the architecture graph
# hot-swap = self-programming substrate) and §3.H: deterministic iteration (IndexMap over HashMap).
arc-swap = "1"
indexmap = { version = "2", features = ["serde"] }
# Library code (container/async features) uses only tokio::sync (RwLock, OnceCell). The runtime
# features (macros, rt-multi-thread, time) are needed only by tests/examples and are added in
# hexser's [dev-dependencies], keeping the shipped dependency lean and WASM-friendlier.
tokio = { version = "1.47.1", features = ["sync"] }
async-trait = "0.1.89"
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json"] }
pretty_assertions = "1.4"
uuid = { version = "1.0", features = ["v4"] }
serial_test = "3"
trybuild = "1.0"
criterion = "0.5"
# Workspace member crates (for path + version unification)
hexser_macros = { version = "0.5.0", path = "hexser_macros" }
hexser = { version = "0.5.0", path = "hexser" }