Unnamed repository; edit this file 'description' to name the repository.
fix:do not handle callsites in macros' parameters
roife 2024-02-26
parent 8929853 · commit 36298c6
-rw-r--r--crates/ide-assists/src/handlers/inline_call.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/crates/ide-assists/src/handlers/inline_call.rs b/crates/ide-assists/src/handlers/inline_call.rs
index 11b22b6520..fd042edb12 100644
--- a/crates/ide-assists/src/handlers/inline_call.rs
+++ b/crates/ide-assists/src/handlers/inline_call.rs
@@ -107,6 +107,9 @@ pub(crate) fn inline_into_callers(acc: &mut Assists, ctx: &AssistContext<'_>) ->
let call_infos: Vec<_> = name_refs
.into_iter()
.filter_map(CallInfo::from_name_ref)
+ // FIXME: do not handle callsites in macros' parameters, because
+ // directly inlining into macros may cause errors.
+ .filter(|call_info| !ctx.sema.hir_file_for(call_info.node.syntax()).is_macro())
.map(|call_info| {
let mut_node = builder.make_syntax_mut(call_info.node.syntax().clone());
(call_info, mut_node)