Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/ide-completion/src/completions/attribute.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/ide-completion/src/completions/attribute.rs b/crates/ide-completion/src/completions/attribute.rs
index df513dd8fd..109ebce01c 100644
--- a/crates/ide-completion/src/completions/attribute.rs
+++ b/crates/ide-completion/src/completions/attribute.rs
@@ -127,6 +127,7 @@ pub(crate) fn complete_attribute_path(
}
let qualifier_path =
if let Qualified::With { path, .. } = qualified { Some(path) } else { None };
+ let qualifier_segments = qualifier_path.iter().flat_map(|q| q.segments()).collect::<Vec<_>>();
let attributes = annotated_item_kind.and_then(|kind| {
if ast::Expr::can_cast(kind) {
@@ -141,9 +142,8 @@ pub(crate) fn complete_attribute_path(
// add the missing parts to the label and snippet
let mut label = attr_completion.label.to_owned();
let mut snippet = attr_completion.snippet.map(|s| s.to_owned());
- let segments = qualifier_path.iter().flat_map(|q| q.segments()).collect::<Vec<_>>();
let qualifiers = attr_completion.qualifiers;
- let matching_qualifiers = segments
+ let matching_qualifiers = qualifier_segments
.iter()
.zip(qualifiers)
.take_while(|(s, q)| s.name_ref().is_some_and(|t| t.text() == **q))