structural-typing 0.1.0

Type-level field presence tracking for Rust structs, inspired by TypeScript
Documentation
[dependencies.derive-where]
version = "1.6.0"

[dependencies.structural-typing-macros]
version = "0.1.0"

[dev-dependencies.serde]
features = ["derive"]
version = "1.0"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.trybuild]
version = "1.0.112"

[[example]]
name = "01_hello"
path = "examples/01_hello.rs"

[[example]]
name = "02_merge"
path = "examples/02_merge.rs"

[[example]]
name = "03_optional"
path = "examples/03_optional.rs"

[[example]]
name = "04_split"
path = "examples/04_split.rs"

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

[[example]]
name = "06_type_algebra"
path = "examples/06_type_algebra.rs"

[[example]]
name = "07_derives"
path = "examples/07_derives.rs"

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

[lib]
name = "structural_typing"
path = "src/lib.rs"

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["rust-patterns", "no-std", "development-tools"]
description = "Type-level field presence tracking for Rust structs, inspired by TypeScript"
edition = "2024"
keywords = ["builder", "type-safety", "optional", "structural", "typing"]
license = "MIT OR Apache-2.0"
name = "structural-typing"
readme = "README.md"
repository = "https://github.com/Crazytieguy/structural-typing-rs"
resolver = "2"
rust-version = "1.85"
version = "0.1.0"

[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"

[[test]]
name = "macro_behavior"
path = "tests/macro_behavior.rs"