Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/add_missing_match_arms.rs')
-rw-r--r--crates/ide-assists/src/handlers/add_missing_match_arms.rs20
1 files changed, 12 insertions, 8 deletions
diff --git a/crates/ide-assists/src/handlers/add_missing_match_arms.rs b/crates/ide-assists/src/handlers/add_missing_match_arms.rs
index 3c33ddec31..667a1d7813 100644
--- a/crates/ide-assists/src/handlers/add_missing_match_arms.rs
+++ b/crates/ide-assists/src/handlers/add_missing_match_arms.rs
@@ -4,7 +4,7 @@ use either::Either;
use hir::{Adt, AsAssocItem, Crate, FindPathConfig, HasAttrs, ModuleDef, Semantics};
use ide_db::RootDatabase;
use ide_db::syntax_helpers::suggest_name;
-use ide_db::{famous_defs::FamousDefs, helpers::mod_path_to_ast};
+use ide_db::{famous_defs::FamousDefs, helpers::mod_path_to_ast_with_factory};
use itertools::Itertools;
use syntax::ast::edit::IndentLevel;
use syntax::ast::syntax_factory::SyntaxFactory;
@@ -38,7 +38,7 @@ use crate::{AssistContext, AssistId, Assists, utils};
// }
// }
// ```
-pub(crate) fn add_missing_match_arms(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> {
+pub(crate) fn add_missing_match_arms(acc: &mut Assists, ctx: &AssistContext<'_, '_>) -> Option<()> {
let match_expr = ctx.find_node_at_offset_with_descend::<ast::MatchExpr>()?;
let match_arm_list = match_expr.match_arm_list()?;
let arm_list_range = ctx.sema.original_range_opt(match_arm_list.syntax())?;
@@ -303,7 +303,7 @@ pub(crate) fn add_missing_match_arms(acc: &mut Assists, ctx: &AssistContext<'_>)
}
fn cursor_at_trivial_match_arm_list(
- ctx: &AssistContext<'_>,
+ ctx: &AssistContext<'_, '_>,
match_expr: &MatchExpr,
match_arm_list: &MatchArmList,
) -> Option<()> {
@@ -357,7 +357,7 @@ struct ArmsEdit {
}
impl ArmsEdit {
- fn remove_wildcard_arms(&mut self, ctx: &AssistContext<'_>, editor: &SyntaxEditor) {
+ fn remove_wildcard_arms(&mut self, ctx: &AssistContext<'_, '_>, editor: &SyntaxEditor) {
for arm in self.match_arm_list.arms() {
if !matches!(arm.pat(), Some(Pat::WildcardPat(_))) {
self.last_arm = Some(arm);
@@ -417,7 +417,7 @@ impl ArmsEdit {
fn add_comma_after_last_arm(
&self,
- ctx: &AssistContext<'_>,
+ ctx: &AssistContext<'_, '_>,
make: &SyntaxFactory,
editor: &SyntaxEditor,
) {
@@ -432,7 +432,7 @@ impl ArmsEdit {
fn cover_edit_range(
&self,
- ctx: &AssistContext<'_>,
+ ctx: &AssistContext<'_, '_>,
node: &impl AstNode,
) -> Option<std::ops::RangeInclusive<syntax::SyntaxElement>> {
let range = ctx.sema.original_range_opt(node.syntax())?;
@@ -581,7 +581,7 @@ fn resolve_array_of_enum_def(
}
fn build_pat(
- ctx: &AssistContext<'_>,
+ ctx: &AssistContext<'_, '_>,
make: &SyntaxFactory,
module: hir::Module,
var: ExtendedVariant,
@@ -602,7 +602,11 @@ fn build_pat(
false,
)
} else {
- mod_path_to_ast(&module.find_path(db, ModuleDef::from(var), cfg)?, edition)
+ mod_path_to_ast_with_factory(
+ make,
+ &module.find_path(db, ModuleDef::from(var), cfg)?,
+ edition,
+ )
};
let fields = var.fields(db);
let pat: ast::Pat = match var.kind(db) {