diff options
| author | sgasho <SuganoShota1999@gmail.com> | 2025-08-11 22:19:50 +0900 |
|---|---|---|
| committer | sgasho <SuganoShota1999@gmail.com> | 2025-08-12 21:53:50 +0900 |
| commit | 875c158686fc47e083c83d1ccee4359ba4cc64f9 (patch) | |
| tree | b0c8a9adf6afc680b7efe705f2bc7c5f52b78b20 /src/tools/rust-analyzer/crates/ide-assists | |
| parent | e52666380f6f03fb1211138171e0ef626ceb468d (diff) | |
| download | rust-875c158686fc47e083c83d1ccee4359ba4cc64f9.tar.gz rust-875c158686fc47e083c83d1ccee4359ba4cc64f9.zip | |
fix: Implement default member to resolve IdentPat
Diffstat (limited to 'src/tools/rust-analyzer/crates/ide-assists')
| -rw-r--r-- | src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_impl_members.rs | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_impl_members.rs b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_impl_members.rs index 11201afb8a7..7e03eb30304 100644 --- a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_impl_members.rs +++ b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_missing_impl_members.rs @@ -2421,4 +2421,53 @@ impl other_file_2::Trait for MyStruct { }"#, ); } + + #[test] + fn test_qualify_ident_pat_in_default_members() { + check_assist( + add_missing_default_members, + r#" +//- /lib.rs crate:b new_source_root:library +pub enum State { + Active, + Inactive, +} + +use State::*; + +pub trait Checker { + fn check(&self) -> State; + + fn is_active(&self) -> bool { + match self.check() { + Active => true, + Inactive => false, + } + } +} +//- /main.rs crate:a deps:b +struct MyChecker; + +impl b::Checker for MyChecker { + fn check(&self) -> b::State { + todo!(); + }$0 +}"#, + r#" +struct MyChecker; + +impl b::Checker for MyChecker { + fn check(&self) -> b::State { + todo!(); + } + + $0fn is_active(&self) -> bool { + match self.check() { + b::State::Active => true, + b::State::Inactive => false, + } + } +}"#, + ); + } } |
