rust-key-paths 2.0.2

Keypaths for Rust: Static dispatch implementation (rust-keypaths) and legacy dynamic dispatch (key-paths-core). Type-safe, composable access to nested data structures.
Documentation
[package]
name = "rust-key-paths"
version = "2.0.2"
edition = "2024"
authors = ["Codefonsi <info@codefonsi.com>"]
license = "MPL-2.0"
description = "Keypaths for Rust: Static dispatch implementation (rust-keypaths) and legacy dynamic dispatch (key-paths-core). Type-safe, composable access to nested data structures."
repository = "https://github.com/codefonsi/rust-key-paths"
homepage = "https://github.com/codefonsi/rust-key-paths"
documentation = "https://docs.rs/rust-key-paths"
keywords = ["keypaths", "EnumKeyPath", "type-safe", "WritableKeyPath", "ReadableKeyPath"]
readme = "./README.md"
include = ["src/**/*", "Cargo.toml", "README.md", "LICENSE"]

[dependencies]
async-trait = "0.1"
tokio = { version = "1.38.0", features = ["sync", "rt"], optional = true }
parking_lot = { version = "0.12", optional = true }

[workspace]
resolver = "3" # or "3"
members = [
    "key-paths-derive",
]


[features]
default = []
parking_lot = ["dep:parking_lot"]
tagged_core = ["tagged-core/default"]
tokio = ["dep:tokio"]

[dev-dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
parking_lot = "0.12"
tagged-core = "0.8.0"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1.0", features = ["v4", "serde"] }
criterion = { version = "0.5", features = ["html_reports"] }
tokio = { version = "1.38.0", features = ["sync", "rt", "rt-multi-thread", "macros"] }
key-paths-derive = { path = "key-paths-derive" }

[[bench]]
name = "deep_chain_leaf"
harness = false

[[bench]]
name = "kp_plain_only"
harness = false

[[bench]]
name = "deep_chain_sync_only"
harness = false

[[bench]]
name = "deep_chain_async_only"
harness = false

[[bench]]
name = "keypath_vs_unwrap"
harness = false

[[bench]]
name = "ten_level_arc_rwlock"
harness = false

[[bench]]
name = "ten_level_std_rwlock"
harness = false

[[bench]]
name = "ten_level_tokio_rwlock"
harness = false