Skip to main content

max / shop

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.
Author: Max Johnson <me@maxj.phd> · 2026-07-31 15:27 UTC
Signed with PGP, not checked
Commit: aebf01dd5d85c865a180c3a4877150f6c1922080
Parent: 25197d3
19 files changed, +247 insertions, -200 deletions
M Cargo.toml +24
@@ -45,12 +45,36 @@
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"
M deny.toml +4
@@ -31,6 +31,10 @@
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,6 +2,7 @@
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