about summary refs log tree commit diff
diff options
context:
space:
mode:
authory21 <30553356+y21@users.noreply.github.com>2023-07-28 12:52:06 +0200
committery21 <30553356+y21@users.noreply.github.com>2023-07-28 12:52:06 +0200
commit5e88003ddac563a8ffc912d6e69332d479a92cc3 (patch)
tree3b12780b138ca34b27bae2373b746e01bcb52bbe
parent205a3741c1659b5157a5dfdaec2476c8a151ada2 (diff)
downloadrust-5e88003ddac563a8ffc912d6e69332d479a92cc3.tar.gz
rust-5e88003ddac563a8ffc912d6e69332d479a92cc3.zip
pattern match on local usage slice to avoid ICE
-rw-r--r--clippy_lints/src/methods/readonly_write_lock.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/clippy_lints/src/methods/readonly_write_lock.rs b/clippy_lints/src/methods/readonly_write_lock.rs
index 404ded2b013..e3ec921da0c 100644
--- a/clippy_lints/src/methods/readonly_write_lock.rs
+++ b/clippy_lints/src/methods/readonly_write_lock.rs
@@ -29,12 +29,13 @@ pub(super) fn check<'tcx>(cx: &LateContext<'tcx>, expr: &'tcx Expr<'_>, receiver
         && let Some((local, _)) = mir.local_decls.iter_enumerated().find(|(_, decl)| {
             local.span.contains(decl.source_info.span)
         })
-        && let Some(usage) = visit_local_usage(&[local], mir, Location {
+        && let Some(usages) = visit_local_usage(&[local], mir, Location {
             block: START_BLOCK,
             statement_index: 0,
         })
+        && let [usage] = usages.as_slice()
     {
-        let writer_never_mutated = usage[0].local_consume_or_mutate_locs.is_empty();
+        let writer_never_mutated = usage.local_consume_or_mutate_locs.is_empty();
 
         if writer_never_mutated {
             span_lint_and_sugg(