blob: a0a1bc8b80a55d0bc9c2d4e1d012160802395fa0 [file]
[workspace]
resolver = "2"
members = ["crates/*"]
# the taps are wasm32-wasip2 components with a workspace of their own
exclude = ["taps"]
[workspace.package]
version = "0.1.0"
edition = "2021"
rust-version = "1.96"
license = "Apache-2.0"
repository = "https://github.com/apache/tooling-memory"
[workspace.dependencies]
thiserror = "2"
serde = { version = "1", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
# Every crate opts in with `[lints] workspace = true`. `make check` runs clippy with
# warnings as errors, so each "warn" below is a gate. Thresholds live in clippy.toml.
[workspace.lints.rust]
unsafe_code = "forbid"
missing_docs = "warn"
rust_2018_idioms = { level = "warn", priority = -1 }
[workspace.lints.clippy]
all = { level = "warn", priority = -1 }
# complexity: a function over the thresholds in clippy.toml is split, not allowed
cognitive_complexity = "warn"
too_many_lines = "warn"
# a library that unwraps is a library that panics on someone else's input
unwrap_used = "warn"
# documentation of what can go wrong is part of the public surface
missing_errors_doc = "warn"
missing_panics_doc = "warn"
# left-behind debugging
dbg_macro = "warn"
todo = "warn"
unimplemented = "warn"
# Line tables keep backtraces readable at a fraction of full debug info; the dev target
# directory was 27 GB with full debug info and compiles slower for it.
[profile.dev]
debug = "line-tables-only"
[profile.release]
lto = "thin"