Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_assists/src/handlers/convert_bool_then.rs')
-rw-r--r--crates/ide_assists/src/handlers/convert_bool_then.rs10
1 files changed, 7 insertions, 3 deletions
diff --git a/crates/ide_assists/src/handlers/convert_bool_then.rs b/crates/ide_assists/src/handlers/convert_bool_then.rs
index 497e7c2546..e7939269ad 100644
--- a/crates/ide_assists/src/handlers/convert_bool_then.rs
+++ b/crates/ide_assists/src/handlers/convert_bool_then.rs
@@ -1,6 +1,10 @@
use hir::{known, AsAssocItem, Semantics};
use ide_db::{
- helpers::{for_each_tail_expr, FamousDefs},
+ helpers::{
+ for_each_tail_expr,
+ node_ext::{block_as_lone_tail, preorder_expr},
+ FamousDefs,
+ },
RootDatabase,
};
use itertools::Itertools;
@@ -218,7 +222,7 @@ fn is_invalid_body(
expr: &ast::Expr,
) -> bool {
let mut invalid = false;
- expr.preorder(&mut |e| {
+ preorder_expr(expr, &mut |e| {
invalid |=
matches!(e, syntax::WalkEvent::Enter(ast::Expr::TryExpr(_) | ast::Expr::ReturnExpr(_)));
invalid
@@ -252,7 +256,7 @@ fn block_is_none_variant(
block: &ast::BlockExpr,
none_variant: hir::Variant,
) -> bool {
- block.as_lone_tail().and_then(|e| match e {
+ block_as_lone_tail(block).and_then(|e| match e {
ast::Expr::PathExpr(pat) => match sema.resolve_path(&pat.path()?)? {
hir::PathResolution::Def(hir::ModuleDef::Variant(v)) => Some(v),
_ => None,