Unnamed repository; edit this file 'description' to name the repository.
Remove alias definition naively
ice1000 2022-09-03
parent afa374e · commit fcc6133
-rw-r--r--crates/ide-assists/src/handlers/inline_type_alias.rs9
-rw-r--r--crates/ide-assists/src/tests/generated.rs2
2 files changed, 7 insertions, 4 deletions
diff --git a/crates/ide-assists/src/handlers/inline_type_alias.rs b/crates/ide-assists/src/handlers/inline_type_alias.rs
index 9adf6381c1..ee560c6193 100644
--- a/crates/ide-assists/src/handlers/inline_type_alias.rs
+++ b/crates/ide-assists/src/handlers/inline_type_alias.rs
@@ -31,7 +31,7 @@ use crate::{
// ```
// ->
// ```
-// type A = i32;
+//
// fn id(x: i32) -> i32 {
// x
// };
@@ -84,6 +84,9 @@ pub(crate) fn inline_type_alias_uses(acc: &mut Assists, ctx: &AssistContext<'_>)
for (file_id, refs) in usages.into_iter() {
inline_refs_for_file(file_id, refs);
}
+
+ builder.edit_file(ctx.file_id());
+ builder.delete(ast_alias.syntax().text_range());
},
)
}
@@ -929,7 +932,7 @@ fn foo() {
}
"#,
r#"
-type A = u32;
+
fn foo() {
let _: u32 = 3;
@@ -960,7 +963,7 @@ fn foo() {
r#"
//- /lib.rs
mod foo;
-type T<E> = Vec<E>;
+
fn f() -> Vec<&str> {
vec!["hello"]
}
diff --git a/crates/ide-assists/src/tests/generated.rs b/crates/ide-assists/src/tests/generated.rs
index a8c8622c1c..227e2300f9 100644
--- a/crates/ide-assists/src/tests/generated.rs
+++ b/crates/ide-assists/src/tests/generated.rs
@@ -1390,7 +1390,7 @@ fn foo() {
}
"#####,
r#####"
-type A = i32;
+
fn id(x: i32) -> i32 {
x
};