treewide: enforce strict clippy check
This commit is contained in:
+64
@@ -34,6 +34,70 @@ git = "https://github.com/kyren/gc-arena"
|
||||
rev = "75671ae03f53718357b741ed4027560f14e90836"
|
||||
features = ["allocator-api2", "hashbrown", "smallvec"]
|
||||
|
||||
# https://emschwartz.me/your-clippy-config-should-be-stricter/
|
||||
# tombi: format.rules.table-keys-order.disabled = true
|
||||
[workspace.lints.clippy]
|
||||
# Don't Panic - prevent panics from unwraps and unsafe slicing or indexing
|
||||
string_slice = "warn"
|
||||
indexing_slicing = "warn"
|
||||
unwrap_used = "warn"
|
||||
panic = "warn"
|
||||
# WIP evaluator: several features are deliberately stubbed with todo!/unimplemented!
|
||||
todo = "allow"
|
||||
unimplemented = "allow"
|
||||
unreachable = "warn"
|
||||
get_unwrap = "warn"
|
||||
unwrap_in_result = "warn"
|
||||
unchecked_time_subtraction = "warn"
|
||||
panic_in_result_fn = "warn"
|
||||
# Optional - see post for caveats
|
||||
# expect_used = "warn"
|
||||
# arithmetic_side_effects = "warn"
|
||||
|
||||
# Don't Fail Silently - prevent dropped futures and swallowed errors
|
||||
let_underscore_future = "warn"
|
||||
let_underscore_must_use = "warn"
|
||||
unused_result_ok = "warn"
|
||||
map_err_ignore = "warn"
|
||||
assertions_on_result_states = "warn"
|
||||
|
||||
# Don't Do Bad Async Stuff - prevent deadlocks and concurrency bugs
|
||||
await_holding_lock = "warn"
|
||||
await_holding_refcell_ref = "warn"
|
||||
if_let_mutex = "warn" # only relevant on editions before 2024
|
||||
large_futures = "warn"
|
||||
|
||||
# Don't Do Unsafe Things with Memory
|
||||
mem_forget = "warn"
|
||||
undocumented_unsafe_blocks = "warn"
|
||||
multiple_unsafe_ops_per_block = "warn"
|
||||
unnecessary_safety_doc = "warn"
|
||||
unnecessary_safety_comment = "warn"
|
||||
|
||||
# Don't Do Potentially Incorrect Things with Numbers
|
||||
float_cmp = "warn"
|
||||
float_cmp_const = "warn"
|
||||
lossy_float_literal = "warn"
|
||||
cast_sign_loss = "warn"
|
||||
invalid_upcast_comparisons = "warn"
|
||||
# Optional - these effectively force you to document numeric invariants
|
||||
# cast_possible_wrap = "warn"
|
||||
# cast_precision_loss = "warn"
|
||||
# cast_possible_truncation = "warn"
|
||||
|
||||
# Don't Do Bad Things That are Easy to Avoid
|
||||
rc_mutex = "warn"
|
||||
debug_assert_with_mut_call = "warn"
|
||||
iter_not_returning_iterator = "warn"
|
||||
expl_impl_clone_on_copy = "warn"
|
||||
infallible_try_from = "warn"
|
||||
dbg_macro = "warn"
|
||||
|
||||
# Don't `allow` Your Way Around These Lints - every suppression must be
|
||||
# a deliberate #[expect(..., reason = "…")] rather than a silent #[allow]
|
||||
allow_attributes = "warn"
|
||||
allow_attributes_without_reason = "warn"
|
||||
|
||||
[profile.lto]
|
||||
inherits = "release"
|
||||
lto = true
|
||||
|
||||
Reference in New Issue
Block a user