[package]
name = "cobre-solver"
description = "LP/MIP solver abstraction layer with HiGHS backend for power system optimization"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
authors.workspace = true
readme = "README.md"
keywords = ["linear-programming", "optimization", "solver", "highs", "lp"]
categories = ["science", "mathematics"]

[features]
default = []
# Exposes FFI option-setting helpers for integration tests.
# Must NOT be enabled in production builds.
test-support = []

# Override unsafe_code to "allow" for this crate because FFI bindings to HiGHS
# require unsafe blocks. All other workspace lints are manually replicated here
# since Cargo does not permit combining `lints.workspace = true` with per-lint
# overrides in the same crate manifest.
[lints.rust]
unsafe_code = "allow"
missing_docs = "warn"

[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
unwrap_used = "deny"
expect_used = "warn"
panic = "warn"
too_many_arguments = "deny"

[dependencies]

[build-dependencies]
cmake = "0.1"
cc = "1.2"
