[package]
edition = "2024"
rust-version = "1.88"
name = "connections"
version = "0.1.0"
build = false
exclude = [
"/.claude",
"/.github",
"/.githooks",
"/.gitlab-ci.yml",
"/.gitleaks.toml",
"/.pii-allow",
"/AGENTS.md",
"/CLAUDE.md",
"/deny.toml",
"/doc",
"/img",
"/proptest.toml",
"/proptest-regressions/",
"/rust-toolchain.toml",
"/rustfmt.toml",
"/scripts",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Galois connections as first-class values: lawful numeric casts, Q-format / IEEE / time ladders"
homepage = "https://cmk.github.io/connections/"
documentation = "https://docs.rs/connections"
readme = "README.md"
keywords = [
"cast",
"galois",
"fixed-point",
"numeric",
"lattice",
]
categories = [
"mathematics",
"encoding",
]
license = "MIT"
repository = "https://github.com/cmk/connections"
[package.metadata.docs.rs]
features = [
"fixed",
"proptest",
"macros",
"time",
"hifi",
"uhlc",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["macros"]
f16 = []
fixed = ["dep:fixed"]
hifi = ["dep:hifitime"]
macros = []
proptest = ["dep:proptest"]
time = ["dep:time"]
try_trait = []
uhlc = ["dep:uhlc"]
[lib]
name = "connections"
path = "src/lib.rs"
[[test]]
name = "compile_fail"
path = "tests/compile_fail.rs"
[[test]]
name = "core"
path = "tests/core.rs"
[[test]]
name = "fixed"
path = "tests/fixed.rs"
[[test]]
name = "macros_feature_smoke"
path = "tests/macros_feature_smoke.rs"
[[test]]
name = "time_feature_surface"
path = "tests/time_feature_surface.rs"
[[test]]
name = "trait_method_api"
path = "tests/trait_method_api.rs"
[[test]]
name = "try_impls"
path = "tests/try_impls.rs"
[dependencies.fixed]
version = "1"
optional = true
[dependencies.hifitime]
version = "4.3"
optional = true
default-features = false
[dependencies.proptest]
version = "1"
optional = true
[dependencies.time]
version = ">=0.3.47, <0.4"
optional = true
default-features = false
[dependencies.uhlc]
version = ">=0.9.0, <0.10"
optional = true
default-features = false
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.trybuild]
version = "1"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(kani)"]
[profile.test]
debug = "line-tables-only"