diff --git a/crates/ide/src/expand_macro.rs b/crates/ide/src/expand_macro.rs index 69d2454cf7c..32dbd9070b9 100644 --- a/crates/ide/src/expand_macro.rs +++ b/crates/ide/src/expand_macro.rs @@ -306,6 +306,25 @@ fn main() { ); } + #[test] + fn macro_expand_with_dyn_absolute_path() { + check( + r#" +macro_rules! foo { + () => {fn f(_: &dyn ::std::marker::Copy) {}}; +} + +fn main() { + let res = fo$0o!(); +} +"#, + expect![[r#" + foo + fn f(_: &dyn ::std::marker::Copy){} + "#]], + ); + } + #[test] fn macro_expand_derive() { check( diff --git a/crates/ide_assists/src/handlers/add_missing_impl_members.rs b/crates/ide_assists/src/handlers/add_missing_impl_members.rs index b6af72cbac5..a10eca10d11 100644 --- a/crates/ide_assists/src/handlers/add_missing_impl_members.rs +++ b/crates/ide_assists/src/handlers/add_missing_impl_members.rs @@ -938,47 +938,6 @@ fn foo<'lt>(&'lt self) {} impl FooB for Foo { $0fn foo< 'lt>(& 'lt self){} -} -"#, - ) - } - - #[test] - fn macro_trait_dyn_absolute_path() { - // https://github.com/rust-analyzer/rust-analyzer/issues/11100 - check_assist( - add_missing_impl_members, - r#" -macro_rules! foo { - () => { - trait MacroTrait { - fn trait_method(_: &dyn ::core::marker::Sized); - } - } -} -foo!(); -struct Foo; - -impl MacroTrait for Foo { - $0 -} -"#, - r#" -macro_rules! foo { - () => { - trait MacroTrait { - fn trait_method(_: &dyn ::core::marker::Sized); - } - } -} -foo!(); -struct Foo; - -impl MacroTrait for Foo { - fn trait_method(_: &dyn ::core::marker::Sized) { - ${0:todo!()} - } - } "#, )