# Portable cargo configuration — safe to commit.
# Machine-local settings (target-dir, sccache) live in config.toml (gitignored).
# Run `just setup-dev` to generate config.toml for this machine.

[build]
jobs       = 4
target-dir = "/Volumes/Devel/ontoref/target"
# rustc-wrapper = "sccache"  # install sccache to enable: cargo install sccache

[profile.dev]
opt-level = 0
debug = true
debug-assertions = true
overflow-checks = true
lto = false
panic = "unwind"
incremental = true

[profile.clippy]
# Lint-only: no debug info, no codegen — clippy only needs MIR/HIR.
# Pre-commit uses this to avoid bloating target/ with DWARF/dSYM artifacts.
inherits = "dev"
debug = 0
incremental = true

[profile.release]
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = false
lto = "thin"
codegen-units = 1
panic = "abort"
incremental = false
strip = false

[profile.test]
opt-level = 1
debug = true
debug-assertions = true
overflow-checks = true
lto = false
incremental = true

[profile.ci-test]
# Pre-commit profile: debug=0 halves binary size; shared by rust-test + docs-links hooks.
inherits = "test"
debug = 0
incremental = false

[profile.ci]
# CI: line-tables-only debug for actionable backtraces on remote failures.
inherits = "test"
debug = "line-tables-only"
incremental = false

[profile.bench]
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = false
lto = "thin"
codegen-units = 1
incremental = false

[term]
color = "auto"
verbose = false
progress.when = "auto"
progress.width = 80

[net]
git-fetch-with-cli = true
offline = false

[alias]
build-all = "build --all-targets"
check-all = "check --all-targets --all-features"
test-all  = "test --all-features --workspace"
doc-all   = "doc --all-features --no-deps --open"
doc-json  = "doc --no-deps -- -Z unstable-options --output-format json"


[env]
SCCACHE_DIR        = "/Volumes/Devel/sccache"
SCCACHE_CACHE_SIZE = "30G"
