fp-library 0.16.0

A functional programming library for Rust featuring your favourite higher-kinded types and type classes.
Documentation
# 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"
name = "fp-library"
version = "0.16.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A functional programming library for Rust featuring your favourite higher-kinded types and type classes."
readme = "README.md"
keywords = [
    "functional",
    "higher-kinded",
    "hkt",
    "types",
]
categories = [
    "algorithms",
    "data-structures",
    "rust-patterns",
]
license = "BlueOak-1.0.0"
repository = "https://github.com/nothingnesses/rust-fp-library"

[package.metadata.docs.rs]
all-features = true

[features]
default = []
rayon = ["dep:rayon"]
serde = ["dep:serde"]
stacker = ["dep:stacker"]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.fp-macros]
version = "0.7"

[dependencies.rayon]
version = "1.11"
optional = true

[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true

[dependencies.stacker]
version = "0.1"
optional = true

[dependencies.thiserror]
version = "2.0"

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

[dev-dependencies.quickcheck]
version = "1.0"

[dev-dependencies.quickcheck_macros]
version = "1.1"

[dev-dependencies.trybuild]
version = "1.0"

[lints.clippy]
expect_used = "warn"
indexing_slicing = "warn"
panic = "warn"
todo = "warn"
unimplemented = "warn"
unreachable = "warn"
unwrap_used = "warn"