From: Jonas Platte Date: Wed, 5 Jan 2022 17:04:36 +0000 (+0100) Subject: Add failing test case for issue 11100 X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=f5b789b1dce1ab703f7ee1740819406cf82520b9;p=rust.git Add failing test case for issue 11100 --- 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 a10eca10d11..b6af72cbac5 100644 --- a/crates/ide_assists/src/handlers/add_missing_impl_members.rs +++ b/crates/ide_assists/src/handlers/add_missing_impl_members.rs @@ -938,6 +938,47 @@ 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!()} + } + } "#, )