1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
[]
= "findnerd"
= "0.1.1"
= "2024"
= "Semantic search for Nerd Font glyphs"
= "https://github.com/can1357/findnerd"
= "README.md"
= ["nerd-fonts", "icons", "glyphs", "search", "cli"]
= ["command-line-utilities"]
= "MIT"
= "1.94.0"
# The 29 MB potion-base-8M model blows the crates.io size cap; default builds
# download it on first run (see src/model_cache.rs). `embed-model` therefore
# only works from a git checkout.
= ["assets/model", ".github", "scripts"]
[]
= ["fetch-model"]
# Download the pinned potion-base-8M model to the user cache on first run.
= ["dep:dirs", "dep:sha2", "dep:ureq"]
# Compile the model into the binary for a fully offline executable.
= []
[]
= "1.0.98"
= "0.22.1"
= { = "4.5.40", = ["derive"] }
= "0.28.1"
= { = "6.0.0", = true }
= "0.3.7"
= { = "0.2.1", = false, = ["local-only", "onig"] }
= "0.29.0"
= { = "0.37.0", = ["bundled", "serialize"] }
= { = "1.0.219", = ["derive"] }
= "1.0.140"
= { = "0.10.9", = true }
= "1.12.0"
= "0.2.0"
= { = "3.1.2", = true }
[]
# ──────────────────────────────────────────────────────────────────────────────
# Rust Lint Levels
# ──────────────────────────────────────────────────────────────────────────────
= "allow"
[]
# ──────────────────────────────────────────────────────────────────────────────
# Base Lint Levels
# ──────────────────────────────────────────────────────────────────────────────
= { = "warn", = -1 }
= { = "deny", = -1 }
= { = "warn", = -1 }
= { = "warn", = -1 }
= { = "warn", = -1 }
= { = "warn", = -1 }
= { = "deny", = -1 }
# ──────────────────────────────────────────────────────────────────────────────
# Meta: Lint Attributes
# ──────────────────────────────────────────────────────────────────────────────
= "warn" # Enforce reason for all #[allow]
# ──────────────────────────────────────────────────────────────────────────────
# Safety & Unsafe Code
# ──────────────────────────────────────────────────────────────────────────────
= "allow"
= "allow"
= "allow"
= "allow"
= "warn"
= "allow"
# ──────────────────────────────────────────────────────────────────────────────
# Numeric Casts & Conversions
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # u32 as u64 - 'as' is cleaner than From
= "allow" # u64 as u32 - often intentional
= "allow" # u32 as i32 - can be intentional
= "allow" # f64 as f32 - sometimes acceptable
= "allow" # i32 as u32 - sometimes needed
= "allow" # Non-Into conversion is more clear
# ──────────────────────────────────────────────────────────────────────────────
# Floating Point
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Tests mostly do this + we know what we're doing
# ──────────────────────────────────────────────────────────────────────────────
# Functions & Closures
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Needed for performance-critical code
= "allow" # Not every function needs #[must_use]
= "allow"
= "allow" # .map(ToString::to_string) can be clearer
= "allow" # Builder pattern methods
# ──────────────────────────────────────────────────────────────────────────────
# Structs & Types
# ──────────────────────────────────────────────────────────────────────────────
= "allow"
= "allow" # Not every field needs to be in Debug output
= "allow" # Usually with builders
# ──────────────────────────────────────────────────────────────────────────────
# Pattern Matching
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Can be intentional for clarity
= "allow" # _ can be clearer than listing variants
= "allow" # match/if-let-else often clearer
# ──────────────────────────────────────────────────────────────────────────────
# Imports & Module Organization
# ──────────────────────────────────────────────────────────────────────────────
= "allow"
= "allow" # Sometimes more readable
= "allow" # Cleaner for preludes and test modules
# ──────────────────────────────────────────────────────────────────────────────
# Variables & Type Inference
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Type obvious from context
= "allow" # 'req' and 'res' together are fine
# ──────────────────────────────────────────────────────────────────────────────
# Literals & Formatting
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # 10_000_000 vs 0xDEADBEEF is context dependent
= "allow" # Explicit bit patterns can be clearer than hex
# ──────────────────────────────────────────────────────────────────────────────
# Code Style
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Default::default() sometimes clearer
= "allow" # We pay attention to this already
# ──────────────────────────────────────────────────────────────────────────────
# Documentation
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Documenting every error return is often redundant
= "allow" # Not every panic needs docs, especially assert!
# ──────────────────────────────────────────────────────────────────────────────
# Complexity
# ──────────────────────────────────────────────────────────────────────────────
= "allow" # Argument count is rarely the real complexity signal
= "allow" # Arbitrary limits don't account for necessary complexity
[]
= "thin"
= 1
= true