# 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 = "2024"
rust-version = "1.94"
name = "qubit-function"
version = "0.11.2"
authors = ["Haixing Hu <starfish.hu@gmail.com>"]
build = false
exclude = [
    "coverage.sh",
    "COVERAGE.md",
    "COVERAGE.zh_CN.md",
    ".circleci/*",
    "align-ci.sh",
    "ci-check.sh",
    ".llvm-cov.toml",
    ".cargo-audit.toml.example",
    "doc/*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Functional programming traits and Box/Rc/Arc adapters for Rust, inspired by Java functional interfaces"
homepage = "https://github.com/qubit-ltd/rs-function"
documentation = "https://docs.rs/qubit-function"
readme = "README.md"
keywords = [
    "functional",
    "predicate",
    "function",
    "consumer",
    "supplier",
]
categories = [
    "development-tools",
    "rust-patterns",
]
license = "Apache-2.0"
repository = "https://github.com/qubit-ltd/rs-function"

[lib]
name = "qubit_function"
path = "src/lib.rs"
doctest = true

[[example]]
name = "always_bi_predicate_demo"
path = "examples/predicates/always_bi_predicate_demo.rs"

[[example]]
name = "always_predicate_demo"
path = "examples/predicates/always_predicate_demo.rs"

[[example]]
name = "bi_consumer_demo"
path = "examples/consumers/bi_consumer_demo.rs"

[[example]]
name = "bi_consumer_observation_demo"
path = "examples/consumers/bi_consumer_observation_demo.rs"

[[example]]
name = "bi_consumer_once_demo"
path = "examples/consumers/bi_consumer_once_demo.rs"

[[example]]
name = "bi_transformer_and_then_demo"
path = "examples/transformers/bi_transformer_and_then_demo.rs"

[[example]]
name = "bi_transformer_demo"
path = "examples/transformers/bi_transformer_demo.rs"

[[example]]
name = "bi_transformer_once_and_then_demo"
path = "examples/transformers/bi_transformer_once_and_then_demo.rs"

[[example]]
name = "bi_transformer_once_demo"
path = "examples/transformers/bi_transformer_once_demo.rs"

[[example]]
name = "closure_supplier_ops_demo"
path = "examples/suppliers/closure_supplier_ops_demo.rs"

[[example]]
name = "comparator_demo"
path = "examples/comparator/comparator_demo.rs"

[[example]]
name = "consumer_demo"
path = "examples/consumers/consumer_demo.rs"

[[example]]
name = "consumer_fn_usage"
path = "examples/consumers/consumer_fn_usage.rs"

[[example]]
name = "consumer_once_demo"
path = "examples/consumers/consumer_once_demo.rs"

[[example]]
name = "fn_bi_transformer_ops_demo"
path = "examples/transformers/fn_bi_transformer_ops_demo.rs"

[[example]]
name = "fn_transformer_once_ops_demo"
path = "examples/transformers/fn_transformer_once_ops_demo.rs"

[[example]]
name = "fn_transformer_ops_demo"
path = "examples/transformers/fn_transformer_ops_demo.rs"

[[example]]
name = "function_family_demo"
path = "examples/functions/function_family_demo.rs"

[[example]]
name = "mutator_demo"
path = "examples/mutators/mutator_demo.rs"

[[example]]
name = "mutator_once_conditional_demo"
path = "examples/mutators/mutator_once_conditional_demo.rs"

[[example]]
name = "mutator_once_demo"
path = "examples/mutators/mutator_once_demo.rs"

[[example]]
name = "predicate_demo"
path = "examples/predicates/predicate_demo.rs"

[[example]]
name = "predicate_fn_mut_demo"
path = "examples/predicates/predicate_fn_mut_demo.rs"

[[example]]
name = "predicate_set_name_demo"
path = "examples/predicates/predicate_set_name_demo.rs"

[[example]]
name = "stateful_supplier_demo"
path = "examples/suppliers/stateful_supplier_demo.rs"

[[example]]
name = "stateful_transformer_demo"
path = "examples/transformers/stateful_transformer_demo.rs"

[[example]]
name = "task_demo"
path = "examples/tasks/task_demo.rs"

[[example]]
name = "tester_demo"
path = "examples/tester/tester_demo.rs"

[[example]]
name = "transformer_blanket_impl_demo"
path = "examples/transformers/transformer_blanket_impl_demo.rs"

[[example]]
name = "transformer_demo"
path = "examples/transformers/transformer_demo.rs"

[[example]]
name = "transformer_once_blanket_impl_demo"
path = "examples/transformers/transformer_once_blanket_impl_demo.rs"

[[example]]
name = "transformer_once_demo"
path = "examples/transformers/transformer_once_demo.rs"

[[example]]
name = "transformer_once_specialized_methods_demo"
path = "examples/transformers/transformer_once_specialized_methods_demo.rs"

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

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

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

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

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

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

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

[dependencies.parking_lot]
version = "0.12"

[dependencies.paste]
version = "0.2"
package = "pastey"

[lints.clippy]
type_complexity = "allow"
