Clippy lints / Suspicious
Clippy lint · Suspicious · checked with Clippy 0.1.99
clippy::suspicious_op_assign_impl: Lints for suspicious operations in impls of OpAssign, e.g. subtracting elements in an AddAssign impl
What it meansLints for suspicious operations in impls of OpAssign, e.g. subtracting elements in an AddAssign impl. It is in the suspicious group and warns by default.
Does it matter?
This is probably a typo or copy-and-paste error and not intended.
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
impl AddAssign for Foo {
fn add_assign(&mut self, other: Foo) {
*self = *self - other;
}
}
Turn it off, or on
Allow it where it does not fit your code, as narrowly as you can:
On one item
#[allow(clippy::suspicious_op_assign_impl)]
fn my_function() { /* ... */ }Whole crate (Cargo.toml)
[lints.clippy]
suspicious_op_assign_impl = "allow"One run
cargo clippy -- -A clippy::suspicious-op-assign-implThe [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
Lints for suspicious operations in impls of OpAssign, e.g. subtracting elements in an AddAssign impl.
Why is this bad?
This is probably a typo or copy-and-paste error and not intended.
Example
impl AddAssign for Foo {
fn add_assign(&mut self, other: Foo) {
*self = *self - other;
}
}
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- suspicious_doc_commentsthis is an outer doc comment and does not apply to the parent module or crate
- suspicious_else_formattingthis is an `else {..}` but the formatting might hide it
- suspicious_mapthis call to `map()` won't have an effect on the call to `count()`
- suspicious_open_optionsChecks for the suspicious use of OpenOptions::create() without an explicit OpenOptions::truncate()
- suspicious_to_ownedChecks for the usage of _.to_owned(), on a Cow<'_, _>
- suspicious_unary_op_formattingby not having a space between `&&` and `!` it looks like `&&!` is a single operator
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::suspicious_doc_commentsthis is an outer doc comment and does not apply to the parent module or crateRead it next →Did this answer your question?