1
Fork 0

Fix handling of hir::GenericArg::Infer in wrong_number_of_generic_args.rs

This commit is contained in:
Fabian Wolff 2021-09-15 00:11:18 +02:00
parent c3c0f80d60
commit 2a2bfd1e59

View file

@ -136,10 +136,7 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
AngleBrackets::Missing => 0, AngleBrackets::Missing => 0,
// Only lifetime arguments can be implied // Only lifetime arguments can be implied
AngleBrackets::Implied => self.gen_args.args.len(), AngleBrackets::Implied => self.gen_args.args.len(),
AngleBrackets::Available => self.gen_args.args.iter().fold(0, |acc, arg| match arg { AngleBrackets::Available => self.gen_args.num_lifetime_params(),
hir::GenericArg::Lifetime(_) => acc + 1,
_ => acc,
}),
} }
} }
@ -148,10 +145,7 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
AngleBrackets::Missing => 0, AngleBrackets::Missing => 0,
// Only lifetime arguments can be implied // Only lifetime arguments can be implied
AngleBrackets::Implied => 0, AngleBrackets::Implied => 0,
AngleBrackets::Available => self.gen_args.args.iter().fold(0, |acc, arg| match arg { AngleBrackets::Available => self.gen_args.num_generic_params(),
hir::GenericArg::Type(_) | hir::GenericArg::Const(_) => acc + 1,
_ => acc,
}),
} }
} }
@ -651,7 +645,9 @@ impl<'a, 'tcx> WrongNumberOfGenericArgs<'a, 'tcx> {
let mut found_redundant = false; let mut found_redundant = false;
for arg in self.gen_args.args { for arg in self.gen_args.args {
match arg { match arg {
hir::GenericArg::Type(_) | hir::GenericArg::Const(_) => { hir::GenericArg::Type(_)
| hir::GenericArg::Const(_)
| hir::GenericArg::Infer(_) => {
gen_arg_spans.push(arg.span()); gen_arg_spans.push(arg.span());
if gen_arg_spans.len() > self.num_expected_type_or_const_args() { if gen_arg_spans.len() > self.num_expected_type_or_const_args() {
found_redundant = true; found_redundant = true;