Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/utils.rs')
-rw-r--r--crates/ide-assists/src/utils.rs7
1 files changed, 2 insertions, 5 deletions
diff --git a/crates/ide-assists/src/utils.rs b/crates/ide-assists/src/utils.rs
index 145a6af7e8..08c5fdbe1c 100644
--- a/crates/ide-assists/src/utils.rs
+++ b/crates/ide-assists/src/utils.rs
@@ -248,8 +248,7 @@ pub fn add_trait_assoc_items_to_impl(
})
.filter_map(|item| match item {
ast::AssocItem::Fn(fn_) if fn_.body().is_none() => {
- let (mut fn_editor, fn_) = SyntaxEditor::new(fn_.syntax().clone());
- let fn_ = ast::Fn::cast(fn_).unwrap();
+ let (mut fn_editor, fn_) = SyntaxEditor::new_typed(&fn_);
let fill_expr: ast::Expr = match config.expr_fill_default {
ExprFillDefaultMode::Todo | ExprFillDefaultMode::Default => make.expr_todo(),
ExprFillDefaultMode::Underscore => make.expr_underscore().into(),
@@ -260,9 +259,7 @@ pub fn add_trait_assoc_items_to_impl(
ast::AssocItem::cast(new_fn_)
}
ast::AssocItem::TypeAlias(type_alias) => {
- let (mut type_alias_editor, type_alias) =
- SyntaxEditor::new(type_alias.syntax().clone());
- let type_alias = ast::TypeAlias::cast(type_alias).unwrap();
+ let (mut type_alias_editor, type_alias) = SyntaxEditor::new_typed(&type_alias);
if let Some(type_bound_list) = type_alias.type_bound_list() {
type_bound_list.remove(&mut type_alias_editor);
};