structural-typing 0.1.9

Type-level field presence tracking for Rust structs, inspired by TypeScript
Documentation
[package]
name = "structural-typing"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Type-level field presence tracking for Rust structs, inspired by TypeScript"
readme = "../README.md"
keywords = ["builder", "type-safety", "optional", "structural", "typing"]
categories = ["rust-patterns", "no-std", "development-tools"]

[dependencies]
derive-where = "1.6.0"
structural-typing-macros = { workspace = true }

[dev-dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
trybuild = "1.0.112"

[features]
serde = ["derive-where/serde"]
default = []

# Examples in ../examples/ (repo root)
[[example]]
name = "hello"
path = "../examples/hello.rs"

[[example]]
name = "optional"
path = "../examples/optional.rs"

[[example]]
name = "generic_impl"
path = "../examples/generic_impl.rs"

[[example]]
name = "merge"
path = "../examples/merge.rs"

[[example]]
name = "extract"
path = "../examples/extract.rs"

[[example]]
name = "try_extract"
path = "../examples/try_extract.rs"

[[example]]
name = "derives"
path = "../examples/derives.rs"

[[example]]
name = "serde"
path = "../examples/serde.rs"
required-features = ["serde"]

[[example]]
name = "nested"
path = "../examples/nested.rs"