Skip to main content

max / makenotwork

2.2 KB · 65 lines History Blame Raw
1 [package]
2 name = "livechat"
3 version = "0.1.0"
4 edition = "2024"
5 license = "MIT"
6 # Internal shared crate, consumed by path inside this repo and never published.
7 # `publish = false` is what makes that a cargo-enforced fact rather than a
8 # convention: without it an accidental `cargo publish` is one command away.
9 publish = false
10
11 [features]
12 default = []
13 # Axum SSE adapter. The rest of the crate has no framework dependency.
14 axum = ["dep:axum", "dep:async-stream", "dep:tokio-stream", "dep:serde_json", "dep:tracing"]
15
16 [dependencies]
17 async-trait = "0.1"
18 dashmap = "6"
19 serde = { version = "1", features = ["derive"] }
20 thiserror = "2"
21 tokio = { version = "1", features = ["sync"] }
22 uuid = { version = "1", features = ["v4", "serde"] }
23
24 async-stream = { version = "0.3", optional = true }
25 axum = { version = "0.8", optional = true }
26 serde_json = { version = "1", optional = true }
27 tokio-stream = { version = "0.1", features = ["sync"], optional = true }
28 tracing = { version = "0.1", optional = true }
29
30 [dev-dependencies]
31 serde_json = "1"
32 tokio = { version = "1", features = ["macros", "rt", "rt-multi-thread", "sync", "time"] }
33
34 [lints.rust]
35 unused = "warn"
36 unreachable_pub = "warn"
37
38 [lints.clippy]
39 pedantic = { level = "warn", priority = -1 }
40 # Allow-list tuned from a measured breakdown across server/multithreaded/pter
41 # (2026-07-22). These are the high-churn / low-signal pedantic lints; everything
42 # else in `pedantic` stays a warning. Keep this block identical across repos.
43 module_name_repetitions = "allow"
44 # Doc lints. No docs-completeness push is underway.
45 missing_errors_doc = "allow"
46 missing_panics_doc = "allow"
47 doc_markdown = "allow"
48 # Numeric casts. Endemic and mostly intentional in size and byte math.
49 cast_possible_truncation = "allow"
50 cast_sign_loss = "allow"
51 cast_precision_loss = "allow"
52 cast_possible_wrap = "allow"
53 cast_lossless = "allow"
54 # Subjective structure and style nags. High churn, low signal.
55 must_use_candidate = "allow"
56 too_many_lines = "allow"
57 struct_excessive_bools = "allow"
58 similar_names = "allow"
59 items_after_statements = "allow"
60 single_match_else = "allow"
61 # Frequent false-positives in TUI and router-heavy code.
62 match_same_arms = "allow"
63 unnecessary_wraps = "allow"
64 type_complexity = "allow"
65