rust/clippy_lints/src
bors f5d429cd76 Auto merge of #5820 - ThibsG:FixSuspiciousArithmeticImpl, r=flip1995
Fix FP for `suspicious_arithmetic_impl` from `suspicious_trait_impl` …

As discussed in #3215, the `suspicious_trait_impl` lint causes too many false positives, as it is complex to find out if binary operations are suspicious or not.

This PR restricts the number of binary operations to at most one, otherwise we don't lint.
This can be seen as very conservative, but at least FP can be reduced to bare minimum.

Fixes: #3215

changelog: limit the `suspicious_arithmetic_impl` lint to one binop, to avoid many FPs
2020-07-26 19:48:17 +00:00
..
methods Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
utils Auto merge of #5830 - flip1995:rustup, r=flip1995 2020-07-21 22:10:04 +00:00
approx_const.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
arithmetic.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
as_conversions.rs Add an Option<Span> argument to span_lint_and_help. 2020-04-18 18:28:29 +08:00
assertions_on_constants.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
assign_ops.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
atomic_ordering.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
attrs.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
await_holding_lock.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
bit_mask.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
blacklisted_name.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
blocks_in_if_conditions.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
booleans.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
bytecount.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
cargo_common_metadata.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
checked_conversions.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
cognitive_complexity.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
collapsible_if.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
comparison_chain.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
consts.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
copies.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
copy_iterator.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
dbg_macro.rs Add an Option<Span> argument to span_lint_and_help. 2020-04-18 18:28:29 +08:00
default_trait_access.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
deprecated_lints.rs fix typos (found by codespell) 2020-07-17 01:58:41 +02:00
dereference.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
derive.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
doc.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
double_comparison.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
double_parens.rs Update Clippy for MethodCall changes 2020-06-10 17:30:11 -04:00
drop_bounds.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
drop_forget_ref.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
duration_subsec.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
else_if_without_else.rs Add an Option<Span> argument to span_lint_and_help. 2020-04-18 18:28:29 +08:00
empty_enum.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
entry.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
enum_clike.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
enum_variants.rs Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
eq_op.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
erasing_op.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
escape.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
eta_reduction.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
eval_order_dependence.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
excessive_bools.rs Add an Option<Span> argument to span_lint_and_help. 2020-04-18 18:28:29 +08:00
exit.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
explicit_write.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
fallible_impl_from.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
float_literal.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
floating_point_arithmetic.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
format.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
formatting.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
functions.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
future_not_send.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
get_last_with_len.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
identity_op.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
if_let_mutex.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
if_let_some_result.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
if_not_else.rs Add an Option<Span> argument to span_lint_and_help. 2020-04-18 18:28:29 +08:00
implicit_return.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
implicit_saturating_sub.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
indexing_slicing.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
infinite_iter.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
inherent_impl.rs fix typos (found by codespell) 2020-07-17 01:58:41 +02:00
inherent_to_string.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
inline_fn_without_body.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
int_plus_one.rs Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
integer_division.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
items_after_statements.rs Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
large_const_arrays.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
large_enum_variant.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
large_stack_arrays.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
len_zero.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
let_and_return.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
let_if_seq.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
let_underscore.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
lib.rs redundant_closure_call - extract lint from misc_early.rs, adapt to LatePass 2020-07-20 00:30:43 +02:00
lifetimes.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
literal_representation.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
loops.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
macro_use.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
main_recursion.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
manual_async_fn.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
manual_non_exhaustive.rs Merge commit '43a1777b89' into clippyup 2020-05-11 20:23:47 +02:00
map_clone.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
map_identity.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
map_unit_fn.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
match_on_vec_items.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
matches.rs Auto merge of #5815 - JarredAllen:redundant_pattern_bugfix, r=flip1995 2020-07-18 14:43:36 +00:00
mem_discriminant.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
mem_forget.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
mem_replace.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
minmax.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
misc.rs Use (std::)f64::EPSILON in the examples as suggested in the lints 2020-07-22 05:23:55 +09:00
misc_early.rs redundant_closure_call - extract lint from misc_early.rs, adapt to LatePass 2020-07-20 00:30:43 +02:00
missing_const_for_fn.rs fix typos (found by codespell) 2020-07-17 01:58:41 +02:00
missing_doc.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
missing_inline.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
modulo_arithmetic.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
multiple_crate_versions.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
mut_key.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
mut_mut.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
mut_reference.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
mutable_debug_assertion.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
mutex_atomic.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
needless_bool.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
needless_borrow.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
needless_borrowed_ref.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
needless_continue.rs Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
needless_pass_by_value.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
needless_update.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
neg_cmp_op_on_partial_ord.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
neg_multiply.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
new_without_default.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
no_effect.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
non_copy_const.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
non_expressive_names.rs Fix sync fallout (fmt) 2020-07-17 21:39:05 +02:00
open_options.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
option_env_unwrap.rs Update Clippy for MethodCall changes 2020-06-10 17:30:11 -04:00
option_if_let_else.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
overflow_check_conditional.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
panic_unimplemented.rs Clean up dogfood fallout 2020-07-16 16:58:21 -07:00
partialeq_ne_impl.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
path_buf_push_overwrite.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
pattern_type_mismatch.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
precedence.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
ptr.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
ptr_offset_with_cast.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
question_mark.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
ranges.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
redundant_clone.rs Ignore not really redundant clones of ManuallyDrop 2020-07-20 00:56:27 +02:00
redundant_closure_call.rs redundant_closure_call - pr review 2020-07-20 00:36:31 +02:00
redundant_field_names.rs Merge commit '7ea7cd165a' into clippyup2 2020-05-28 15:45:24 +02:00
redundant_pub_crate.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
redundant_static_lifetimes.rs cargo dev fmt 2020-04-17 08:09:09 +02:00
reference.rs Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
regex.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
repeat_once.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
returns.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
serde_api.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
shadow.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
single_component_path_imports.rs Merge commit 'ff0993c5e9' into clippy 2020-06-09 14:36:01 +00:00
slow_vector_initialization.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
strings.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
suspicious_trait_impl.rs Fix FP for suspicious_arithmetic_impl from suspicious_trait_impl lint 2020-07-19 00:00:17 +02:00
swap.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
tabs_in_doc_comments.rs Rustup to rust-lang/rust#69592 2020-03-01 12:23:33 +09:00
temporary_assignment.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
to_digit_is_some.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
trait_bounds.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
transmute.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
transmuting_null.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
trivially_copy_pass_by_ref.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
try_err.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
types.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
unicode.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
unit_return_expecting_ord.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
unnamed_address.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
unnecessary_sort_by.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
unnested_or_patterns.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
unsafe_removed_from_name.rs Avoid storing SymbolStr in a struct. 2020-07-17 08:28:22 +10:00
unused_io_amount.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
unused_self.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
unwrap.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
use_self.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
useless_conversion.rs Fix FP useless_conversion 2020-07-25 23:58:22 +09:00
vec.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
vec_resize_to_zero.rs Merge remote-tracking branch 'upstream/master' into rustup 2020-07-18 15:09:58 +02:00
verbose_file_reads.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00
wildcard_dependencies.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
wildcard_imports.rs Use 'tcx for references to AccessLevels wherever possible. 2020-07-03 00:04:48 +03:00
write.rs Merge commit '2ca58e7dda' into clippyup 2020-07-14 14:59:59 +02:00
zero_div_zero.rs Rename TypeckTables to TypeckResults. 2020-07-17 08:47:04 +00:00