[package]
name = "facet-solver"
version = "0.32.1"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
description = "Constraint solver for facet - resolves type shapes from field names"
keywords = ["reflection", "introspection", "facet", "solver", "serde"]
categories = ["development-tools", "rust-patterns"]

[features]
ci = [] # CI feature
default = ["std", "suggestions"]
std = ["alloc"]
alloc = ["facet-core/alloc", "facet-reflect/alloc"]
suggestions = ["strsim", "alloc"]

[dependencies]
facet-core = { path = "../facet-core", version = "0.32.1", default-features = false }
facet-reflect = { path = "../facet-reflect", version = "0.32.1", default-features = false }
strsim = { version = "0.11", optional = true }

[dev-dependencies]
facet = { path = "../facet" }
facet-testhelpers = { path = "../facet-testhelpers" }
json-event-parser = "0.2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
miette = { version = "7", default-features = false }
thiserror = "2"
divan = "0.1"

[[bench]]
name = "solver"
harness = false
