[package]
name = "pipecircuit"
version = "0.0.21"
edition = "2024"
description = "Correct. Robust. Fast. Portable. Pick four."
license = "MIT OR Apache-2.0"
readme = "README.md"
documentation = "https://docs.rs/pipecircuit"
repository.workspace = true
include = [
"src/**",
"tests/**",
"benches/**",
"README.md",
"LICENSE-MIT",
"LICENSE-APACHE",
]
[features]
default = ["secondary-indexes"]
alloc = []
programs = ["dep:pipecircuit-macros"]
performance-evidence = []
storage = ["alloc", "dep:pipecircuit-macros", "serde?/alloc"]
secondary-indexes = ["storage", "dep:roaring"]
serde = ["dep:serde"]
postcard-bindings = ["serde", "dep:postcard-bindgen", "postcard-bindgen/generating"]
[dependencies]
pipecircuit-macros = { workspace = true, optional = true }
roaring = { workspace = true, optional = true }
serde = { workspace = true, optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
postcard-bindgen = { workspace = true, optional = true }
[dev-dependencies]
fibre = { version = "=0.6.5", default-features = false }
criterion.workspace = true
dhat = "0.3.3"
proptest.workspace = true
postcard.workspace = true
trybuild = "1.0.119"
[[bench]]
name = "warp_table_range_query"
harness = false
[[bench]]
name = "warp_table_range_profile"
harness = false
[[bench]]
name = "warp_table_range_alloc_profile"
harness = false
[[bench]]
name = "warp_table_workload"
harness = false
[[bench]]
name = "warp_table_workload_profile"
harness = false
[[bench]]
name = "warp_table_workload_alloc_profile"
harness = false
[[bench]]
name = "warp_table_ordering"
harness = false
[lints.rust]
unsafe_code = "forbid"
unnameable_types = "deny"
private_interfaces = "deny"
private_bounds = "deny"
unreachable_patterns = "deny"
unused_must_use = "deny"
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }
[lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
panic = "deny"
todo = "deny"
unimplemented = "deny"
indexing_slicing = "deny"
arithmetic_side_effects = "deny"
float_arithmetic = "deny"
let_underscore_must_use = "deny"
wildcard_enum_match_arm = "deny"
std_instead_of_core = "deny"
std_instead_of_alloc = "deny"
[[bench]]
name = "observed_view_profile"
harness = false