Adopt the shared clippy allow-list and make check green
shop carried a four-line allow-list of its own while every other repo under
~/Code shares one block tuned in July. Copy that block in verbatim, add the
standard unused / unreachable_pub rust lints, and clear what still fired:
- pub items in the shop and shop-bench binaries are now pub(crate)
- clippy --fix for or-patterns, redundant closures, inlined format args
- explicit PipelineCompilationOptions::default() at the four wgpu sites
- targeted allows, with reasons, for the wgpu draw signatures and the
single-character geometry bindings in the hot path
Also a cargo fmt sweep, which accounts for most of the diff in shop-grid and
shop-vt, and two deny.toml fixes so bans passes: allow-wildcard-paths for the
intra-workspace path deps, and publish = false on the shop binary, which
cargo-deny needs before that allowance applies.
fmt, clippy -D warnings, deny and the 80 tests are all green.
19 files changed,
+247 insertions,
-200 deletions
| 45 |
45 |
|
|
| 46 |
46 |
|
[workspace.lints.rust]
|
| 47 |
47 |
|
unsafe_code = "warn"
|
|
48 |
+ |
unused = "warn"
|
|
49 |
+ |
unreachable_pub = "warn"
|
| 48 |
50 |
|
|
| 49 |
51 |
|
[workspace.lints.clippy]
|
| 50 |
52 |
|
pedantic = { level = "warn", priority = -1 }
|
|
53 |
+ |
# Allow-list tuned from a measured breakdown across server/multithreaded/pter
|
|
54 |
+ |
# (2026-07-22). These are the high-churn / low-signal pedantic lints; everything
|
|
55 |
+ |
# else in `pedantic` stays a warning. Keep this block identical across repos.
|
| 51 |
56 |
|
module_name_repetitions = "allow"
|
|
57 |
+ |
# Doc lints. No docs-completeness push is underway.
|
| 52 |
58 |
|
missing_errors_doc = "allow"
|
| 53 |
59 |
|
missing_panics_doc = "allow"
|
|
60 |
+ |
doc_markdown = "allow"
|
|
61 |
+ |
# Numeric casts. Endemic and mostly intentional in size and byte math.
|
|
62 |
+ |
cast_possible_truncation = "allow"
|
|
63 |
+ |
cast_sign_loss = "allow"
|
|
64 |
+ |
cast_precision_loss = "allow"
|
|
65 |
+ |
cast_possible_wrap = "allow"
|
|
66 |
+ |
cast_lossless = "allow"
|
|
67 |
+ |
# Subjective structure and style nags. High churn, low signal.
|
|
68 |
+ |
must_use_candidate = "allow"
|
|
69 |
+ |
too_many_lines = "allow"
|
|
70 |
+ |
struct_excessive_bools = "allow"
|
|
71 |
+ |
similar_names = "allow"
|
|
72 |
+ |
items_after_statements = "allow"
|
|
73 |
+ |
single_match_else = "allow"
|
|
74 |
+ |
# Frequent false-positives in TUI and router-heavy code.
|
|
75 |
+ |
match_same_arms = "allow"
|
|
76 |
+ |
unnecessary_wraps = "allow"
|
|
77 |
+ |
type_complexity = "allow"
|
| 54 |
78 |
|
|
| 55 |
79 |
|
[profile.release]
|
| 56 |
80 |
|
lto = "thin"
|
| 31 |
31 |
|
[bans]
|
| 32 |
32 |
|
multiple-versions = "warn"
|
| 33 |
33 |
|
wildcards = "deny"
|
|
34 |
+ |
# The workspace crates depend on each other by path and carry no version, which
|
|
35 |
+ |
# reads as a wildcard. Nothing is published, so there is no registry resolution
|
|
36 |
+ |
# to pin. Keeps the check meaningful for real registry deps.
|
|
37 |
+ |
allow-wildcard-paths = true
|
| 34 |
38 |
|
|
| 35 |
39 |
|
[sources]
|
| 36 |
40 |
|
unknown-registry = "deny"
|
| 2 |
2 |
|
name = "shop"
|
| 3 |
3 |
|
version = "0.0.1"
|
| 4 |
4 |
|
description = "Wayland-only, GPU-accelerated terminal emulator for Alloy"
|
|
5 |
+ |
publish = false
|
| 5 |
6 |
|
edition.workspace = true
|
| 6 |
7 |
|
rust-version.workspace = true
|
| 7 |
8 |
|
authors.workspace = true
|