about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAda Alakbarova <ada.alakbarova@proton.me>2025-08-23 13:57:35 +0200
committerAda Alakbarova <ada.alakbarova@proton.me>2025-08-24 12:45:04 +0200
commite185efe1315b897d21977e4dfbe4da5a63b569a2 (patch)
treeb9fac5436637e2844a27b14fba0f127a7ee04d83
parent852e552be4753043644294ed5cc71daec0f8eedd (diff)
downloadrust-e185efe1315b897d21977e4dfbe4da5a63b569a2.tar.gz
rust-e185efe1315b897d21977e4dfbe4da5a63b569a2.zip
pattern-match on slices
Avoids needless bounds checks (which almost definitely get optimized
away, but still). And saves some characters
-rw-r--r--clippy_lints/src/unused_unit.rs15
1 files changed, 6 insertions, 9 deletions
diff --git a/clippy_lints/src/unused_unit.rs b/clippy_lints/src/unused_unit.rs
index 68d1bbe6b85..3652bb68dea 100644
--- a/clippy_lints/src/unused_unit.rs
+++ b/clippy_lints/src/unused_unit.rs
@@ -97,16 +97,13 @@ impl<'tcx> LateLintPass<'tcx> for UnusedUnit {
     }
 
     fn check_poly_trait_ref(&mut self, cx: &LateContext<'tcx>, poly: &'tcx PolyTraitRef<'tcx>) {
-        let segments = &poly.trait_ref.path.segments;
-
-        if segments.len() == 1
-            && matches!(segments[0].ident.name, sym::Fn | sym::FnMut | sym::FnOnce)
-            && let Some(args) = segments[0].args
+        if let [segment] = &poly.trait_ref.path.segments
+            && matches!(segment.ident.name, sym::Fn | sym::FnMut | sym::FnOnce)
+            && let Some(args) = segment.args
             && args.parenthesized == GenericArgsParentheses::ParenSugar
-            && let constraints = &args.constraints
-            && constraints.len() == 1
-            && constraints[0].ident.name == sym::Output
-            && let AssocItemConstraintKind::Equality { term: Term::Ty(hir_ty) } = constraints[0].kind
+            && let [constraint] = &args.constraints
+            && constraint.ident.name == sym::Output
+            && let AssocItemConstraintKind::Equality { term: Term::Ty(hir_ty) } = constraint.kind
             && args.span_ext.hi() != poly.span.hi()
             && !hir_ty.span.from_expansion()
             && args.span_ext.hi() != hir_ty.span.hi()