about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2023-09-22 08:53:24 +0200
committerLukas Wirth <lukastw97@gmail.com>2023-09-22 08:53:24 +0200
commit93562dd5bdec82c70b8eff05c59badb4314c90c8 (patch)
treecee63ff4bf98604cbb7ee48668e08eb711914e15
parent25b1b3e753c4cb6fa75b2004c8d753daf240b1c6 (diff)
downloadrust-93562dd5bdec82c70b8eff05c59badb4314c90c8.tar.gz
rust-93562dd5bdec82c70b8eff05c59badb4314c90c8.zip
Use parent + and_then instead of ancestors
-rw-r--r--crates/ide-assists/src/handlers/bool_to_enum.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/crates/ide-assists/src/handlers/bool_to_enum.rs b/crates/ide-assists/src/handlers/bool_to_enum.rs
index b9dbd6e98fc..85b0b87d0c9 100644
--- a/crates/ide-assists/src/handlers/bool_to_enum.rs
+++ b/crates/ide-assists/src/handlers/bool_to_enum.rs
@@ -111,7 +111,7 @@ fn find_bool_node(ctx: &AssistContext<'_>) -> Option<BoolNodeData> {
             initializer: let_stmt.initializer(),
             definition: Definition::Local(def),
         })
-    } else if let Some(const_) = name.syntax().ancestors().find_map(ast::Const::cast) {
+    } else if let Some(const_) = name.syntax().parent().and_then(ast::Const::cast) {
         let def = ctx.sema.to_def(&const_)?;
         if !def.ty(ctx.db()).is_bool() {
             cov_mark::hit!(not_applicable_non_bool_const);
@@ -125,7 +125,7 @@ fn find_bool_node(ctx: &AssistContext<'_>) -> Option<BoolNodeData> {
             initializer: const_.body(),
             definition: Definition::Const(def),
         })
-    } else if let Some(static_) = name.syntax().ancestors().find_map(ast::Static::cast) {
+    } else if let Some(static_) = name.syntax().parent().and_then(ast::Static::cast) {
         let def = ctx.sema.to_def(&static_)?;
         if !def.ty(ctx.db()).is_bool() {
             cov_mark::hit!(not_applicable_non_bool_static);
@@ -140,7 +140,7 @@ fn find_bool_node(ctx: &AssistContext<'_>) -> Option<BoolNodeData> {
             definition: Definition::Static(def),
         })
     } else {
-        let field = name.syntax().ancestors().find_map(ast::RecordField::cast)?;
+        let field = name.syntax().parent().and_then(ast::RecordField::cast)?;
         if field.name()? != name {
             return None;
         }