diff options
| author | Lukas Wirth <lukastw97@gmail.com> | 2023-09-22 08:53:24 +0200 |
|---|---|---|
| committer | Lukas Wirth <lukastw97@gmail.com> | 2023-09-22 08:53:24 +0200 |
| commit | 93562dd5bdec82c70b8eff05c59badb4314c90c8 (patch) | |
| tree | cee63ff4bf98604cbb7ee48668e08eb711914e15 | |
| parent | 25b1b3e753c4cb6fa75b2004c8d753daf240b1c6 (diff) | |
| download | rust-93562dd5bdec82c70b8eff05c59badb4314c90c8.tar.gz rust-93562dd5bdec82c70b8eff05c59badb4314c90c8.zip | |
Use parent + and_then instead of ancestors
| -rw-r--r-- | crates/ide-assists/src/handlers/bool_to_enum.rs | 6 |
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; } |
