Clippy lints / Suspicious
Clippy lint · Suspicious · checked with Clippy 0.1.99
clippy::blanket_clippy_restriction_lints: `clippy::restriction` is not meant to be enabled as a group
What it meansChecks for warn/deny/forbid attributes targeting the whole clippy::restriction category. It is in the suspicious group and warns by default.
What you see
warning: `clippy::restriction` is not meant to be enabled as a group --> main.rs:1:9 | 1 | #![deny(clippy::restriction)] | ^^^^^^^^^^^^^^^^^^^ | = help: enable the restriction lints you need individually = help: for further information visit https://rust-lang.github.io/rust-clippy/stable/index.html#blanket_clippy_restriction_lints = note: `#[warn(clippy::blanket_clippy_restriction_lints)]` on by default
Real output of Clippy 0.1.99 (Rust 1.99) on the example below. Names and line numbers in yours will differ.
Does it matter?
Restriction lints sometimes are in contrast with other lints or even go against idiomatic rust. These lints should only be enabled on a lint-by-lint basis and with careful consideration.
Code that is most likely wrong or useless. Warns by default.
How to fix it
Clippy does not fix this one automatically. Change the code by hand:
Flagged
#![deny(clippy::restriction)]
Write this instead
#![deny(clippy::as_conversions)]
Turn it off, or on
Allow it where it does not fit your code, as narrowly as you can:
On one item
#[allow(clippy::blanket_clippy_restriction_lints)]
fn my_function() { /* ... */ }Whole crate (Cargo.toml)
[lints.clippy]
blanket_clippy_restriction_lints = "allow"One run
cargo clippy -- -A clippy::blanket-clippy-restriction-lintsThe [lints] table needs Rust 1.74 or newer. In a workspace, put it under [workspace.lints.clippy] and add [lints] workspace = true to each member.
Clippy's own documentation
What it does
Checks for warn/deny/forbid attributes targeting the whole clippy::restriction category.
Why is this bad?
Restriction lints sometimes are in contrast with other lints or even go against idiomatic rust. These lints should only be enabled on a lint-by-lint basis and with careful consideration.
Example
#![deny(clippy::restriction)]
Use instead:
#![deny(clippy::as_conversions)]
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- await_holding_invalid_typeAllows users to configure types which should not be held across await suspension points
- await_holding_lockChecks for calls to await while holding a non-async-aware MutexGuard
- await_holding_refcell_refChecks for calls to await while holding a RefCell, Ref, or RefMut
- block_scrutineeWarns when a match, if let, or while let scrutinee is wrapped in a block. This lint only triggers on the 2021 edition and older
- by_ref_peekable_peekcalling `.by_ref().peekable().peek()` will advance the underlying iterator and consume its first output
- cast_abs_to_unsignedcasting the result of `i32::abs()` to u32
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::await_holding_invalid_typeAllows users to configure types which should not be held across await suspension pointsRead it next →Did this answer your question?