Skip to content

Commit e185efe

Browse files
committed
pattern-match on slices
Avoids needless bounds checks (which almost definitely get optimized away, but still). And saves some characters
1 parent 852e552 commit e185efe

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

clippy_lints/src/unused_unit.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,13 @@ impl<'tcx> LateLintPass<'tcx> for UnusedUnit {
9797
}
9898

9999
fn check_poly_trait_ref(&mut self, cx: &LateContext<'tcx>, poly: &'tcx PolyTraitRef<'tcx>) {
100-
let segments = &poly.trait_ref.path.segments;
101-
102-
if segments.len() == 1
103-
&& matches!(segments[0].ident.name, sym::Fn | sym::FnMut | sym::FnOnce)
104-
&& let Some(args) = segments[0].args
100+
if let [segment] = &poly.trait_ref.path.segments
101+
&& matches!(segment.ident.name, sym::Fn | sym::FnMut | sym::FnOnce)
102+
&& let Some(args) = segment.args
105103
&& args.parenthesized == GenericArgsParentheses::ParenSugar
106-
&& let constraints = &args.constraints
107-
&& constraints.len() == 1
108-
&& constraints[0].ident.name == sym::Output
109-
&& let AssocItemConstraintKind::Equality { term: Term::Ty(hir_ty) } = constraints[0].kind
104+
&& let [constraint] = &args.constraints
105+
&& constraint.ident.name == sym::Output
106+
&& let AssocItemConstraintKind::Equality { term: Term::Ty(hir_ty) } = constraint.kind
110107
&& args.span_ext.hi() != poly.span.hi()
111108
&& !hir_ty.span.from_expansion()
112109
&& args.span_ext.hi() != hir_ty.span.hi()

0 commit comments

Comments
 (0)