about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDropDemBits <r3usrlnd@gmail.com>2023-11-13 18:42:58 -0500
committerDropDemBits <r3usrlnd@gmail.com>2023-11-13 18:42:58 -0500
commit6f68cd33947c3f361e47c24904605e49e5637eba (patch)
tree7878e7f9a5169bc5753c80ec631fecd76d6f6bef
parent4aaa592a9a7461cf844e70bcc39a16173affab26 (diff)
downloadrust-6f68cd33947c3f361e47c24904605e49e5637eba.tar.gz
rust-6f68cd33947c3f361e47c24904605e49e5637eba.zip
Remove unwraps from `destructure_tuple_binding`
-rw-r--r--crates/ide-assists/src/handlers/destructure_tuple_binding.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/ide-assists/src/handlers/destructure_tuple_binding.rs b/crates/ide-assists/src/handlers/destructure_tuple_binding.rs
index 6a012d30bf7..2dc30e685a1 100644
--- a/crates/ide-assists/src/handlers/destructure_tuple_binding.rs
+++ b/crates/ide-assists/src/handlers/destructure_tuple_binding.rs
@@ -177,10 +177,12 @@ fn edit_tuple_assignment(
 
     if let Some(cap) = ctx.config.snippet_cap {
         // place cursor on first tuple name
-        let ast::Pat::IdentPat(first_pat) = tuple_pat.fields().next().unwrap() else {
-            unreachable!()
-        };
-        edit.add_tabstop_before(cap, first_pat.name().unwrap())
+        if let Some(ast::Pat::IdentPat(first_pat)) = tuple_pat.fields().next() {
+            edit.add_tabstop_before(
+                cap,
+                first_pat.name().expect("first ident pattern should have a name"),
+            )
+        }
     }
 
     AssignmentEdit { ident_pat, tuple_pat, in_sub_pattern }