[package]
edition = "2024"
rust-version = "1.85"
name = "structural-typing"
version = "0.1.9"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
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",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Crazytieguy/structural-typing-rs"
resolver = "2"
[features]
default = []
serde = ["derive-where/serde"]
[lib]
name = "structural_typing"
path = "src/lib.rs"
[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"
[[test]]
name = "core_functionality"
path = "tests/core_functionality.rs"
[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"
[[test]]
name = "generic_edge_cases"
path = "tests/generic_edge_cases.rs"
[[test]]
name = "nested_setters"
path = "tests/nested_setters.rs"
[[test]]
name = "serde_edge_cases"
path = "tests/serde_edge_cases.rs"
[[test]]
name = "serde_integration"
path = "tests/serde_integration.rs"
[dependencies.derive-where]
version = "1.6.0"
[dependencies.structural-typing-macros]
version = "0.1.9"
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.trybuild]
version = "1.0.112"