Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/add_missing_impl_members.rs')
| -rw-r--r-- | crates/ide-assists/src/handlers/add_missing_impl_members.rs | 29 |
1 files changed, 25 insertions, 4 deletions
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 d1f1f9f123..efbe3817e1 100644 --- a/crates/ide-assists/src/handlers/add_missing_impl_members.rs +++ b/crates/ide-assists/src/handlers/add_missing_impl_members.rs @@ -45,7 +45,10 @@ use crate::{ // } // } // ``` -pub(crate) fn add_missing_impl_members(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> { +pub(crate) fn add_missing_impl_members( + acc: &mut Assists, + ctx: &AssistContext<'_, '_>, +) -> Option<()> { add_missing_impl_members_inner( acc, ctx, @@ -89,7 +92,7 @@ pub(crate) fn add_missing_impl_members(acc: &mut Assists, ctx: &AssistContext<'_ // ``` pub(crate) fn add_missing_default_members( acc: &mut Assists, - ctx: &AssistContext<'_>, + ctx: &AssistContext<'_, '_>, ) -> Option<()> { add_missing_impl_members_inner( acc, @@ -103,7 +106,7 @@ pub(crate) fn add_missing_default_members( fn add_missing_impl_members_inner( acc: &mut Assists, - ctx: &AssistContext<'_>, + ctx: &AssistContext<'_, '_>, mode: DefaultMethods, ignore_items: IgnoreAssocItems, assist_id: &'static str, @@ -224,7 +227,7 @@ fn add_missing_impl_members_inner( fn try_gen_trait_body( make: &SyntaxFactory, - ctx: &AssistContext<'_>, + ctx: &AssistContext<'_, '_>, func: &ast::Fn, trait_ref: hir::TraitRef<'_>, impl_def: &ast::Impl, @@ -2620,4 +2623,22 @@ impl Allocator for System { "#, ); } + + #[test] + fn does_not_include_defaulted_assoc_types() { + check_assist_not_applicable( + add_missing_impl_members, + r#" +trait Trait { + type NotRequired = (); +} + +struct Struct; + +impl Trait for Struct { + $0 +} + "#, + ); + } } |