# 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.95"
name = "antigen"
version = "0.4.0-beta.1"
authors = ["Christopher Averill <c@tek.gy>"]
build = "build.rs"
exclude = [
    "tests/**",
    "proptest-regressions/**",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Structural memory of failure-classes for Rust. Make implicit immunity explicit."
homepage = "https://github.com/antigen-rs/antigen"
readme = "README.md"
keywords = [
    "immunity",
    "memory",
    "failure-class",
    "lint",
    "antibody",
]
categories = [
    "development-tools",
    "development-tools::cargo-plugins",
    "development-tools::testing",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/antigen-rs/antigen"
resolver = "3"

[features]
antigen-poxparty = ["antigen-macros/antigen-poxparty"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.antigen-attestation]
version = "=0.4.0-beta.1"
features = ["parser"]

[dependencies.antigen-fingerprint]
version = "=0.4.0-beta.1"

[dependencies.antigen-macros]
version = "=0.4.0-beta.1"

[dependencies.chrono]
version = "0.4"
features = [
    "std",
    "clock",
]
default-features = false

[dependencies.proc-macro2]
version = "1"
features = [
    "span-locations",
    "span-locations",
]

[dependencies.quote]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

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

[dependencies.walkdir]
version = "2"

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

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

[build-dependencies.proc-macro2]
version = "1"
features = ["span-locations"]

[build-dependencies.syn]
version = "2"
features = [
    "full",
    "extra-traits",
    "visit",
]

[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "allow"
uninlined_format_args = "allow"

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

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

[lints.rust]
missing_docs = "warn"
unsafe_code = "forbid"
