Clippy lints / Suspicious
Clippy lint · Suspicious · checked with Clippy 0.1.99
clippy::suspicious_arithmetic_impl: Lints for suspicious operations in impls of arithmetic operators, e.g. subtracting elements in an Add impl
What it meansLints for suspicious operations in impls of arithmetic operators, e.g. subtracting elements in an Add 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 Add for Foo {
type Output = Foo;
fn add(self, other: Foo) -> Foo {
Foo(self.0 - other.0)
}
}
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_arithmetic_impl)]
fn my_function() { /* ... */ }Whole crate (Cargo.toml)
[lints.clippy]
suspicious_arithmetic_impl = "allow"One run
cargo clippy -- -A clippy::suspicious-arithmetic-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 arithmetic operators, e.g. subtracting elements in an Add impl.
Why is this bad?
This is probably a typo or copy-and-paste error and not intended.
Example
impl Add for Foo {
type Output = Foo;
fn add(self, other: Foo) -> Foo {
Foo(self.0 - other.0)
}
}
From the Clippy lint list (0.1.99), part of the Rust project, MIT or Apache-2.0. Official entry.
Related lints
- repr_packed_without_abiitem uses `packed` representation without ABI-qualification
- single_range_in_vec_initan array of `Range` that is only one element
- size_of_refargument to `size_of_val()` is a reference to a reference
- suspicious_assignment_formattingthis looks like you are trying to use `.. -= ..`, but you really are doing `.. = (- ..)`
- suspicious_command_arg_spacesingle argument that looks like it should be multiple arguments
- suspicious_doc_commentsthis is an outer doc comment and does not apply to the parent module or crate
All 847 Clippy lints · Rust compiler errors · Cargo.toml checker
Up next
Related lintclippy::repr_packed_without_abiitem uses `packed` representation without ABI-qualificationRead it next →Did this answer your question?