58 lines
2.3 KiB
TOML
58 lines
2.3 KiB
TOML
[workspace]
|
|
members = ["soulseek-rs-lib", "soulseek-rs"]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
version = "12.0.0"
|
|
authors = ["Michel de Graaf"]
|
|
edition = "2024"
|
|
license = "MIT"
|
|
repository = "https://github.com/michel/soulseek-rs"
|
|
homepage = "https://re-invention.nl/soulseek-rs/"
|
|
|
|
# The v6.0.0 release binaries shipped unstripped: the Linux archives were
|
|
# roughly twice the size of the macOS ones purely because of debug symbols.
|
|
# Doing it here rather than in the workflow covers every target at once,
|
|
# including `cargo install`.
|
|
[profile.release]
|
|
strip = true
|
|
|
|
[workspace.lints.rust]
|
|
unused_lifetimes = "warn"
|
|
unsafe_op_in_unsafe_fn = "warn"
|
|
|
|
# Lints are cranked to the maximum practical level: the full clippy `all`,
|
|
# `pedantic`, and `nursery` groups are enabled as warnings. The allow-list below
|
|
# opts out of the pedantic/nursery lints that this project intentionally does
|
|
# not follow (documentation-style requirements, deliberate numeric casts in the
|
|
# protocol/UI layers, and a few noisy nursery lints), so that `cargo clippy`
|
|
# stays clean without churning code for no real benefit.
|
|
[workspace.lints.clippy]
|
|
all = { level = "warn", priority = -1 }
|
|
pedantic = { level = "warn", priority = -1 }
|
|
nursery = { level = "warn", priority = -1 }
|
|
# Documentation-style pedantic lints — not tracked in rustdoc for this project.
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
doc_markdown = "allow"
|
|
# Numeric casts in the protocol framing and TUI layout are intentional and
|
|
# reviewed (the one real width-truncation bug was fixed separately).
|
|
cast_possible_truncation = "allow"
|
|
cast_precision_loss = "allow"
|
|
cast_sign_loss = "allow"
|
|
cast_possible_wrap = "allow"
|
|
# Message/handler APIs take ownership by design.
|
|
needless_pass_by_value = "allow"
|
|
# Long event loops and protocol parsers are clearer kept whole.
|
|
too_many_lines = "allow"
|
|
# Protocol test fixtures are raw byte/number arrays.
|
|
unreadable_literal = "allow"
|
|
# Nursery lint that fights RAII lock guards with frequent false positives.
|
|
significant_drop_tightening = "allow"
|
|
# Subjective nursery lint: the suggested map_or/map_or_else rewrites read worse
|
|
# than the explicit if let/match they replace.
|
|
option_if_let_else = "allow"
|
|
# The MD5 round functions use the conventional a/b/c/d register names from the
|
|
# RFC 1321 reference implementation.
|
|
many_single_char_names = "allow"
|