[package]
edition = "2024"
rust-version = "1.85"
name = "patchable"
version = "0.5.8"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Automatically derive patch types for Rust structs to enable efficient partial updates with zero runtime overhead"
documentation = "https://docs.rs/patchable"
readme = "README.md"
keywords = [
"patch",
"update",
"derive",
"macro",
"serde",
]
categories = [
"data-structures",
"rust-patterns",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ShapelessCat/patchable"
[features]
default = ["serde"]
full = [
"serde",
"impl_from",
]
impl_from = ["patchable-macro/impl_from"]
serde = ["patchable-macro/serde"]
[lib]
name = "patchable"
path = "src/lib.rs"
[[test]]
name = "basic"
path = "tests/basic.rs"
[[test]]
name = "impl_from"
path = "tests/impl_from.rs"
required-features = ["impl_from"]
[[test]]
name = "macro_expansion_failures"
path = "tests/macro_expansion_failures.rs"
[[test]]
name = "no_serde"
path = "tests/no_serde.rs"
[[test]]
name = "postcard"
path = "tests/postcard.rs"
required-features = ["serde"]
[[test]]
name = "serde_json"
path = "tests/serde_json.rs"
required-features = ["serde"]
[dependencies.patchable-macro]
version = "0.5.8"
[dev-dependencies.anyhow]
version = "1.0.100"
[dev-dependencies.heapless]
version = "0.7.17"
default-features = false
[dev-dependencies.postcard]
version = "1.1.3"
features = ["heapless"]
default-features = false
[dev-dependencies.serde]
version = "1.0.228"
features = ["derive"]
default-features = false
[dev-dependencies.serde_json]
version = "1.0.149"
features = ["alloc"]
default-features = false
[dev-dependencies.trybuild]
version = "1.0.114"