[package]
edition = "2024"
rust-version = "1.88"
name = "recallable"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Traits (`Recallable`, `Recall`, `TryRecall`) and macros for defining Memento pattern types and their state restoration behaviors."
documentation = "https://docs.rs/recallable"
readme = "README.md"
keywords = [
"memento-pattern",
"derive",
"macro",
"serde",
]
categories = [
"data-structures",
"rust-patterns",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ShapelessCat/recallable"
[package.metadata.docs.rs]
all-features = true
[features]
default = ["serde"]
full = [
"serde",
"impl_from",
]
impl_from = ["recallable-macro/impl_from"]
serde = ["recallable-macro/serde"]
[lib]
name = "recallable"
path = "src/lib.rs"
[[example]]
name = "basic_model"
path = "examples/basic_model.rs"
required-features = ["serde"]
[[example]]
name = "impl_from_roundtrip"
path = "examples/impl_from_roundtrip.rs"
required-features = ["impl_from"]
[[example]]
name = "manual_no_serde"
path = "examples/manual_no_serde.rs"
[[example]]
name = "nested_generic"
path = "examples/nested_generic.rs"
required-features = ["serde"]
[[example]]
name = "postcard_roundtrip"
path = "examples/postcard_roundtrip.rs"
required-features = ["serde"]
[[test]]
name = "basic"
path = "tests/basic.rs"
[[test]]
name = "container_impls"
path = "tests/container_impls.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.recallable-macro]
version = "0.2.0"
[dev-dependencies.anyhow]
version = "1.0.102"
[dev-dependencies.heapless]
version = "0.9.2"
default-features = false
[dev-dependencies.postcard]
version = "1.1.3"
features = ["heapless"]
default-features = false
[dev-dependencies.proptest]
version = "1.9.0"
features = ["std"]
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"