Fix substraction with overflow in wrong_number_of_generic_args.rs

Rarranging the substration and equality check into an addition and an equality
check is sufficient.

Algebra is cool, isn't it?

Co-authored-by: Michael Goulet <michael@errs.io>
This commit is contained in:
Mahmoud Mazouz 2022-11-19 18:53:36 +01:00
parent 452cf4f710
commit 01f2a15420
No known key found for this signature in database
GPG key ID: 67ECE70BC8FF7F2F

View file

@ -728,7 +728,8 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
&& let Some(trait_path_segment) = path.segments.get(0) {
let num_generic_args_supplied_to_trait = trait_path_segment.args().num_generic_params();
if num_assoc_fn_excess_args == num_trait_generics_except_self - num_generic_args_supplied_to_trait {
if num_generic_args_supplied_to_trait + num_assoc_fn_excess_args == num_trait_generics_except_self
{
if let Some(span) = self.gen_args.span_ext()
&& let Ok(snippet) = self.tcx.sess.source_map().span_to_snippet(span) {
let sugg = vec![