# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.80.0"
name = "pmat"
version = "3.0.4"
authors = ["Pragmatic AI Labs"]
build = "build.rs"
exclude = [
    "target/",
    "*.log",
    "*.profraw",
    ".pmat-cache",
    "proptest-regressions",
    ".pmat/",
    ".pmat-tickets/",
    ".pmat-work/",
    ".pmat-baseline.json",
    "node_modules/",
    "*.pyc",
    "__pycache__/",
    "quality-report.json",
    "bridge/package-lock.json",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "PMAT - Zero-config AI context generation and code quality toolkit (CLI, MCP, HTTP)"
homepage = "https://paiml.com"
readme = "README.md"
keywords = [
    "mcp",
    "code-analysis",
    "refactoring",
    "quality",
    "ai",
]
categories = [
    "command-line-utilities",
    "development-tools",
    "development-tools::testing",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/paiml/paiml-mcp-agent-toolkit"

[package.metadata.docs.rs]
features = ["default"]
rustdoc-args = [
    "--cfg",
    "docsrs",
]
rustc-args = [
    "--cfg",
    "docsrs",
]

[features]
advanced-analysis = [
    "analytics-simd",
    "mutation-testing",
    "tdg-explain",
    "demo",
]
agent-daemon = ["notify"]
agents-md = ["shell-words"]
all-languages = [
    "rust-ast",
    "typescript-ast",
    "python-ast",
    "c-ast",
    "cpp-ast",
    "ruchy-ast",
    "go-ast",
    "wasm-ast",
    "deep-wasm",
    "shell-ast",
    "php-ast",
    "swift-ast",
    "lua-ast",
]
analytics-gpu = [
    "analytics-simd",
    "trueno-db/gpu",
    "wgpu",
    "pollster",
    "bytemuck",
]
analytics-simd = [
    "trueno",
    "trueno-db",
    "trueno-db/simd",
    "arrow",
]
broken-tests = []
c-ast = [
    "tree-sitter",
    "tree-sitter-c",
    "fixedbitset",
]
claude-integration = [
    "bytes",
    "libc",
]
cli-integration = []
core-languages = [
    "rust-ast",
    "typescript-ast",
    "javascript-ast",
    "python-ast",
    "lua-ast",
]
cpp-ast = [
    "c-ast",
    "tree-sitter-cpp",
    "cpp_demangle",
    "gimli",
    "goblin",
]
csharp-ast = []
dap = ["rmp-serde"]
deep-wasm = [
    "gimli",
    "wasm-ast",
    "sourcemap",
]
default = [
    "core-languages",
    "viz",
]
demo = [
    "http-server",
    "bytes",
    "http",
]
diagnostics = ["sys-info"]
e2e-tests = []
extended-languages = [
    "go-ast",
    "c-ast",
    "cpp-ast",
    "shell-ast",
    "php-ast",
    "swift-ast",
]
full = [
    "all-languages",
    "polyglot-ast",
    "advanced-analysis",
]
git-lib = ["git2"]
github-api = ["octocrab"]
go-ast = [
    "tree-sitter",
    "tree-sitter-go",
]
gpu = [
    "trueno",
    "trueno/gpu",
]
http-server = [
    "axum",
    "tower",
    "tower-http",
    "hyper",
    "hyper-util",
    "http-body-util",
]
integration-tests = []
internal_tests = []
java-ast = []
javascript-ast = [
    "typescript-ast",
    "polyglot-javascript",
]
kotlin-ast = [
    "tree-sitter",
    "tree-sitter-kotlin-ng",
    "polyglot-kotlin",
]
lua-ast = [
    "tree-sitter",
    "tree-sitter-lua",
]
mcp-integration = [
    "actix",
    "actix-rt",
    "crossbeam",
    "sysinfo",
    "bytes",
    "libc",
]
most-languages = [
    "rust-ast",
    "typescript-ast",
    "python-ast",
    "c-ast",
    "cpp-ast",
    "go-ast",
    "shell-ast",
]
mutation-testing = [
    "rust-ast",
    "python-ast",
    "typescript-ast",
    "cpp-ast",
    "go-ast",
    "prettyplease",
    "which",
]
org-intelligence = ["organizational-intelligence-plugin"]
perf-tests = []
php-ast = []
polyglot-ast = []
polyglot-csharp = []
polyglot-java = []
polyglot-javascript = ["polyglot-ast"]
polyglot-kotlin = ["polyglot-ast"]
polyglot-ruby = []
polyglot-scala = []
polyglot-typescript = ["polyglot-ast"]
prometheus-metrics = [
    "prometheus",
    "warp",
]
python-ast = [
    "rust-ast",
    "tree-sitter",
    "tree-sitter-python",
]
raft-consensus = ["async-raft"]
reporting = ["csv"]
ruby-ast = []
ruchy-ast = ["ruchy"]
rust-ast = [
    "quote",
    "proc-macro2",
    "tree-sitter",
    "tree-sitter-rust",
]
rust-only = ["rust-ast"]
scala-ast = []
shell-ast = []
simd = ["trueno"]
skip-slow-tests = []
sovereign-compression = ["trueno-zram-core"]
swift-ast = []
syntax-highlighting = ["syntect"]
tdg-explain = ["rust-ast"]
tui = [
    "presentar-core",
    "crossterm",
]
typescript-ast = [
    "rust-ast",
    "swc_ecma_parser",
    "swc_common",
    "swc_ecma_ast",
    "swc_ecma_visit",
    "tree-sitter",
    "tree-sitter-typescript",
    "tree-sitter-javascript",
    "polyglot-typescript",
]
unified-protocol = ["http-server"]
viz = ["trueno-viz"]
wasm-ast = ["wasmparser"]
watch = ["notify"]

[lib]
name = "pmat"
path = "src/lib.rs"

[[bin]]
name = "pmat"
path = "src/bin/pmat.rs"

[[bin]]
name = "pmat-agent"
path = "src/bin/pmat-agent.rs"
required-features = ["mcp-integration"]

[[example]]
name = "agent_context_query_demo"
path = "examples/agent_context_query_demo.rs"

[[example]]
name = "analyze_complexity"
path = "examples/analyze_complexity.rs"

[[example]]
name = "analyze_dead_code"
path = "examples/analyze_dead_code.rs"

[[example]]
name = "analyze_github_repo"
path = "examples/analyze_github_repo.rs"
required-features = ["demo"]

[[example]]
name = "analyze_satd"
path = "examples/analyze_satd.rs"

[[example]]
name = "bug_004_dead_code_c_project"
path = "examples/bug_004_dead_code_c_project.rs"

[[example]]
name = "bug_011_language_detection"
path = "examples/bug_011_language_detection.rs"

[[example]]
name = "bug_012_multi_language_cli"
path = "examples/bug_012_multi_language_cli.rs"

[[example]]
name = "cargo_mutants_backend_demo"
path = "examples/cargo_mutants_backend_demo.rs"
required-features = ["mutation-testing"]

[[example]]
name = "cargo_mutants_detect"
path = "examples/cargo_mutants_detect.rs"
required-features = ["mutation-testing"]

[[example]]
name = "check_code_quality"
path = "examples/check_code_quality.rs"

[[example]]
name = "check_github_repo"
path = "examples/check_github_repo.rs"

[[example]]
name = "ci_integration"
path = "examples/ci_integration.rs"

[[example]]
name = "claude_integration_example"
path = "examples/claude_integration_example.rs"
required-features = ["claude-integration"]

[[example]]
name = "compare_repos"
path = "examples/compare_repos.rs"
required-features = ["demo"]

[[example]]
name = "complexity_demo"
path = "examples/complexity_demo.rs"

[[example]]
name = "complexity_isolation"
path = "examples/complexity_isolation.rs"

[[example]]
name = "complexity_validation"
path = "examples/complexity_validation.rs"

[[example]]
name = "comply_demo"
path = "examples/comply_demo.rs"

[[example]]
name = "context_analysis_demo"
path = "examples/context_analysis_demo.rs"

[[example]]
name = "cpp_mutation_workflow"
path = "examples/cpp_mutation_workflow.rs"
required-features = ["mutation-testing"]

[[example]]
name = "cuda_tdg_demo"
path = "examples/cuda_tdg_demo.rs"

[[example]]
name = "debug_complexity"
path = "examples/debug_complexity.rs"

[[example]]
name = "deep_context_complexity"
path = "examples/deep_context_complexity.rs"

[[example]]
name = "dogfood_types"
path = "examples/dogfood_types.rs"
required-features = ["mutation-testing"]

[[example]]
name = "exit_codes"
path = "examples/exit_codes.rs"

[[example]]
name = "feature_052_filtering"
path = "examples/feature_052_filtering.rs"

[[example]]
name = "five_whys_demo"
path = "examples/five_whys_demo.rs"

[[example]]
name = "git_history_demo"
path = "examples/git_history_demo.rs"

[[example]]
name = "go_mutation_workflow"
path = "examples/go_mutation_workflow.rs"
required-features = ["mutation-testing"]

[[example]]
name = "hooks_cache_demo"
path = "examples/hooks_cache_demo.rs"

[[example]]
name = "issue_053_batch2_context_churn"
path = "examples/issue_053_batch2_context_churn.rs"

[[example]]
name = "issue_053_batch3_quality_gates"
path = "examples/issue_053_batch3_quality_gates.rs"

[[example]]
name = "issue_053_batch4_quality_tracking"
path = "examples/issue_053_batch4_quality_tracking.rs"

[[example]]
name = "issue_053_batch5_advanced_analysis"
path = "examples/issue_053_batch5_advanced_analysis.rs"

[[example]]
name = "issue_053_mcp_tools"
path = "examples/issue_053_mcp_tools.rs"

[[example]]
name = "lint_hotspot_demo"
path = "examples/lint_hotspot_demo.rs"

[[example]]
name = "lint_hotspot_enforce_flag"
path = "examples/lint_hotspot_enforce_flag.rs"

[[example]]
name = "lua_analysis"
path = "examples/lua_analysis.rs"
required-features = ["lua-ast"]

[[example]]
name = "mcp_server_pmcp"
path = "examples/mcp_server_pmcp.rs"

[[example]]
name = "one_function_only"
path = "examples/one_function_only.rs"

[[example]]
name = "organizational_intelligence_integration"
path = "examples/organizational_intelligence_integration.rs"

[[example]]
name = "parse_cargo_mutants_json"
path = "examples/parse_cargo_mutants_json.rs"
required-features = ["mutation-testing"]

[[example]]
name = "perfection_score_demo"
path = "examples/perfection_score_demo.rs"

[[example]]
name = "pmcp_analyze_workflow"
path = "examples/pmcp_analyze_workflow.rs"

[[example]]
name = "pmcp_refactor_session"
path = "examples/pmcp_refactor_session.rs"

[[example]]
name = "popper_score_demo"
path = "examples/popper_score_demo.rs"

[[example]]
name = "project_diag_demo"
path = "examples/project_diag_demo.rs"

[[example]]
name = "python_mutation_workflow"
path = "examples/python_mutation_workflow.rs"
required-features = ["mutation-testing"]

[[example]]
name = "quality_gate"
path = "examples/quality_gate.rs"

[[example]]
name = "quality_gate_custom"
path = "examples/quality_gate_custom.rs"

[[example]]
name = "quality_gate_github"
path = "examples/quality_gate_github.rs"
required-features = ["demo"]

[[example]]
name = "quality_gate_perf"
path = "examples/quality_gate_perf.rs"

[[example]]
name = "quality_gate_shows_checks"
path = "examples/quality_gate_shows_checks.rs"

[[example]]
name = "quality_gate_thresholds"
path = "examples/quality_gate_thresholds.rs"

[[example]]
name = "quality_gate_violations"
path = "examples/quality_gate_violations.rs"

[[example]]
name = "quality_proxy_demo"
path = "examples/quality_proxy_demo.rs"

[[example]]
name = "recording_capture_demo"
path = "examples/recording_capture_demo.rs"

[[example]]
name = "red_team_demo"
path = "examples/red_team_demo.rs"

[[example]]
name = "rich_reporter_demo"
path = "examples/rich_reporter_demo.rs"

[[example]]
name = "rust_mutation_workflow"
path = "examples/rust_mutation_workflow.rs"
required-features = ["mutation-testing"]

[[example]]
name = "satd_lint_analysis"
path = "examples/satd_lint_analysis.rs"

[[example]]
name = "scaffold_agent_basics"
path = "examples/scaffold_agent_basics.rs"

[[example]]
name = "scaffold_agent_course_project"
path = "examples/scaffold_agent_course_project.rs"

[[example]]
name = "scaffold_agent_hybrid"
path = "examples/scaffold_agent_hybrid.rs"

[[example]]
name = "scaffold_agent_interactive"
path = "examples/scaffold_agent_interactive.rs"

[[example]]
name = "semantic_search_demo"
path = "examples/semantic_search_demo.rs"

[[example]]
name = "similarity_demo"
path = "examples/similarity_demo.rs"

[[example]]
name = "single_function_test"
path = "examples/single_function_test.rs"

[[example]]
name = "single_if_test"
path = "examples/single_if_test.rs"

[[example]]
name = "tdg_system_demo"
path = "examples/tdg_system_demo.rs"

[[example]]
name = "test_pmcp_server"
path = "examples/test_pmcp_server.rs"

[[example]]
name = "typescript_mutation_workflow"
path = "examples/typescript_mutation_workflow.rs"
required-features = ["mutation-testing"]

[[example]]
name = "typescript_mutation_workflow_parallel"
path = "examples/typescript_mutation_workflow_parallel.rs"
required-features = ["mutation-testing"]

[[example]]
name = "unified_help_demo"
path = "examples/unified_help_demo.rs"

[[example]]
name = "unified_mcp_demo"
path = "examples/unified_mcp_demo.rs"

[[example]]
name = "uniform_contracts_demo"
path = "examples/uniform_contracts_demo.rs"

[[example]]
name = "verify_fixtures"
path = "examples/verify_fixtures.rs"
required-features = ["mutation-testing"]

[[example]]
name = "verus_verification_demo"
path = "examples/verus_verification_demo.rs"

[[example]]
name = "viz_demo"
path = "examples/viz_demo.rs"
required-features = ["viz"]

[[example]]
name = "work_commands_demo"
path = "examples/work_commands_demo.rs"

[[test]]
name = "all"
path = "tests/all.rs"

[[test]]
name = "unit_core"
path = "tests/unit/core.rs"
required-features = []

[[test]]
name = "services_integration"
path = "tests/integration/services.rs"
required-features = ["integration-tests"]

[[test]]
name = "protocol_adapters"
path = "tests/integration/protocols.rs"
required-features = ["integration-tests"]

[[test]]
name = "e2e_system"
path = "tests/e2e/system.rs"
required-features = ["e2e-tests"]

[[test]]
name = "performance_regression"
path = "tests/performance/regression.rs"
required-features = ["perf-tests"]

[[bench]]
name = "claude_integration_bench"
path = "benches/claude_integration_bench.rs"
harness = false

[[bench]]
name = "context_graph_bench"
path = "benches/context_graph_bench.rs"
harness = false

[[bench]]
name = "coverage_gaps_bench"
path = "benches/coverage_gaps_bench.rs"
harness = false

[[bench]]
name = "critical_path"
path = "benches/critical_path.rs"
harness = false

[[bench]]
name = "dead_code_ops"
path = "benches/dead_code_ops.rs"
harness = false

[[bench]]
name = "performance"
path = "benches/performance.rs"
harness = false

[[bench]]
name = "similarity_ops"
path = "benches/similarity_ops.rs"
harness = false

[[bench]]
name = "storage_backend_bench"
path = "benches/storage_backend_bench.rs"
harness = false

[[bench]]
name = "tdg_ops"
path = "benches/tdg_ops.rs"
harness = false

[[bench]]
name = "topk_selection"
path = "benches/topk_selection.rs"
harness = false

[dependencies.actix]
version = "0.13"
optional = true

[dependencies.actix-rt]
version = "2.10"
optional = true

[dependencies.anyhow]
version = "1.0"

[dependencies.aprender]
version = "0.25.1"

[dependencies.arrow]
version = "53"
optional = true

[dependencies.async-raft]
version = "0.6"
optional = true

[dependencies.async-trait]
version = "0.1"

[dependencies.axum]
version = "0.8"
features = [
    "json",
    "tokio",
    "http1",
    "query",
]
optional = true
default-features = false

[dependencies.bincode]
version = "1.3"

[dependencies.blake3]
version = "1.8"
features = ["serde"]

[dependencies.bytemuck]
version = "1.14"
optional = true

[dependencies.bytes]
version = "1.10"
optional = true

[dependencies.chrono]
version = "=0.4.38"
features = ["serde"]

[dependencies.clap]
version = "4.5"
features = [
    "std",
    "derive",
    "help",
    "env",
]
default-features = false

[dependencies.cpp_demangle]
version = "0.4"
optional = true

[dependencies.crc32fast]
version = "1.5.0"

[dependencies.crossbeam]
version = "0.8"
optional = true

[dependencies.crossbeam-channel]
version = "0.5"

[dependencies.crossterm]
version = "0.28"
optional = true

[dependencies.csv]
version = "1.3"
optional = true

[dependencies.dashmap]
version = "6.1"

[dependencies.dirs]
version = "6.0"

[dependencies.fixedbitset]
version = "0.5"
optional = true

[dependencies.flate2]
version = "1.1"

[dependencies.fs2]
version = "0.4.3"

[dependencies.futures]
version = "0.3"

[dependencies.gimli]
version = "0.32"
optional = true

[dependencies.git2]
version = "0.20"
features = ["https"]
optional = true
default-features = false

[dependencies.glob]
version = "0.3"

[dependencies.globset]
version = "0.4"

[dependencies.goblin]
version = "0.10"
optional = true

[dependencies.handlebars]
version = "6.3"
features = ["string_helpers"]
default-features = false

[dependencies.http]
version = "1.3"
optional = true

[dependencies.http-body-util]
version = "0.1"
optional = true

[dependencies.hyper]
version = "1.6"
features = [
    "http1",
    "server",
]
optional = true
default-features = false

[dependencies.hyper-util]
version = "0.1"
features = [
    "tokio",
    "server",
    "client",
]
optional = true
default-features = false

[dependencies.ignore]
version = "0.4"

[dependencies.lazy_static]
version = "1.5"

[dependencies.libc]
version = "0.2"
optional = true

[dependencies.lru]
version = "0.16"
features = ["hashbrown"]

[dependencies.lz4_flex]
version = "0.11"

[dependencies.notify]
version = "8.0"
optional = true

[dependencies.num_cpus]
version = "1.17"

[dependencies.octocrab]
version = "0.48"
optional = true

[dependencies.organizational-intelligence-plugin]
version = "0.3.1"
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.pmcp]
version = "1.9.4"
features = [
    "websocket",
    "http",
    "sse",
    "validation",
]

[dependencies.pollster]
version = "0.3"
optional = true

[dependencies.presentar-core]
version = "0.3"
optional = true

[dependencies.prettyplease]
version = "0.2.37"
optional = true

[dependencies.proc-macro2]
version = "1.0"
optional = true

[dependencies.prometheus]
version = "0.14"
optional = true

[dependencies.pulldown-cmark]
version = "0.13"

[dependencies.quote]
version = "1.0"
optional = true

[dependencies.rand]
version = "0.9"

[dependencies.rayon]
version = "1.10"

[dependencies.regex]
version = "1.11"
features = ["perf"]

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "rustls-tls",
]
default-features = false

[dependencies.rmp-serde]
version = "1.3"
optional = true

[dependencies.roaring]
version = "0.10"

[dependencies.ruchy]
version = "4.1"
optional = true

[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]

[dependencies.rustc-hash]
version = "2.1"

[dependencies.semver]
version = "1.0"
features = ["serde"]

[dependencies.serde]
version = "1.0"
features = [
    "derive",
    "std",
]
default-features = false

[dependencies.serde_json]
version = "1.0"
features = ["std"]
default-features = false

[dependencies.serde_yaml]
version = "0.9"

[dependencies.sha2]
version = "0.10"

[dependencies.shell-words]
version = "1.1.0"
optional = true

[dependencies.sourcemap]
version = "9.0"
optional = true

[dependencies.swc_common]
version = "14.0"
optional = true

[dependencies.swc_ecma_ast]
version = "15.0"
optional = true

[dependencies.swc_ecma_parser]
version = "24.0"
optional = true

[dependencies.swc_ecma_visit]
version = "15.0"
optional = true

[dependencies.syn]
version = "2.0"
features = [
    "full",
    "parsing",
    "visit",
    "extra-traits",
]

[dependencies.syntect]
version = "5.2"
features = ["default-fancy"]
optional = true
default-features = false

[dependencies.sys-info]
version = "0.9.1"
optional = true

[dependencies.sysinfo]
version = "0.37"
optional = true

[dependencies.tempfile]
version = "3.8"

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.48"
features = [
    "rt-multi-thread",
    "macros",
    "net",
    "io-util",
    "fs",
    "sync",
    "time",
]

[dependencies.toml]
version = "0.8.23"

[dependencies.tower]
version = "0.5"
features = [
    "util",
    "timeout",
]
optional = true
default-features = false

[dependencies.tower-http]
version = "0.6"
features = [
    "trace",
    "compression-gzip",
    "timeout",
    "cors",
]
optional = true
default-features = false

[dependencies.tracing]
version = "0.1"
features = ["std"]
default-features = false

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "fmt",
    "std",
]
default-features = false

[dependencies.tree-sitter]
version = "0.23"
optional = true

[dependencies.tree-sitter-c]
version = "0.23"
optional = true

[dependencies.tree-sitter-cpp]
version = "0.23"
optional = true

[dependencies.tree-sitter-go]
version = "0.23"
optional = true

[dependencies.tree-sitter-javascript]
version = "0.23"
optional = true

[dependencies.tree-sitter-kotlin-ng]
version = "1.1"
optional = true

[dependencies.tree-sitter-lua]
version = "0.2.0"
optional = true

[dependencies.tree-sitter-python]
version = "0.23"
optional = true

[dependencies.tree-sitter-rust]
version = "0.23"
optional = true

[dependencies.tree-sitter-typescript]
version = "0.23"
optional = true

[dependencies.trueno]
version = "0.14.0"
optional = true

[dependencies.trueno-db]
version = "0.3.11"
optional = true
default-features = false

[dependencies.trueno-graph]
version = "0.1.11"

[dependencies.trueno-rag]
version = "0.1.10"

[dependencies.trueno-viz]
version = "0.1.20"
features = [
    "terminal",
    "graph",
]
optional = true

[dependencies.trueno-zram-core]
version = "0.3"
optional = true

[dependencies.url]
version = "2.5"

[dependencies.uuid]
version = "1.17"
features = [
    "v4",
    "serde",
]

[dependencies.walkdir]
version = "2.5"

[dependencies.warp]
version = "0.3"
optional = true

[dependencies.wasmparser]
version = "0.239.0"
optional = true

[dependencies.wgpu]
version = "24.0"
features = ["wgsl"]
optional = true

[dependencies.which]
version = "6.0"
optional = true

[dependencies.xxhash-rust]
version = "0.8"
features = ["xxh64"]

[dev-dependencies.assert_cmd]
version = "2.0"

[dev-dependencies.criterion]
version = "0.6"
features = ["html_reports"]

[dev-dependencies.env_logger]
version = "0.11.8"

[dev-dependencies.futures-test]
version = "0.3"

[dev-dependencies.predicates]
version = "3.1"

[dev-dependencies.pretty_assertions]
version = "1.4"

[dev-dependencies.proptest]
version = "1.6"

[dev-dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "rustls-tls",
]
default-features = false

[dev-dependencies.serial_test]
version = "3.2"

[dev-dependencies.tempfile]
version = "3.20"

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.tokio-util]
version = "0.7.18"

[build-dependencies.flate2]
version = "1.1"

[build-dependencies.serde]
version = "1.0"
features = ["derive"]

[build-dependencies.serde_json]
version = "1.0"

[build-dependencies.sha2]
version = "0.10"

[build-dependencies.ureq]
version = "3.0"

[lints.clippy]
checked_conversions = "warn"
expect_used = "allow"
unwrap_used = "warn"

[lints.clippy.complexity]
level = "warn"
priority = -1

[lints.clippy.correctness]
level = "deny"
priority = -1

[lints.clippy.pedantic]
level = "allow"
priority = -1

[lints.clippy.perf]
level = "warn"
priority = -1

[lints.clippy.style]
level = "warn"
priority = -1

[lints.clippy.suspicious]
level = "warn"
priority = -1

[lints.rust]
missing_docs = "allow"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    "cfg(coverage)",
    "cfg(coverage_nightly)",
]

[profile.dist]
lto = "thin"
inherits = "release"

[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 16
panic = "abort"
overflow-checks = false
strip = "symbols"

[profile.test]
opt-level = 0
lto = false
codegen-units = 256
incremental = true

[profile.test.package."*"]
opt-level = 0
