Skip to content

Commit 9480b38

Browse files
committed
extract const generic in ArrayType
1 parent 71c15f2 commit 9480b38

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

crates/ide-assists/src/handlers/extract_type_alias.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,25 @@ fn collect_used_generics<'gp>(
171171
ast::Type::RefType(ref_) => generics.extend(
172172
ref_.lifetime().and_then(|lt| known_generics.iter().find(find_lifetime(&lt.text()))),
173173
),
174+
ast::Type::ArrayType(ar) => {
175+
if let Some(expr) = ar.expr() {
176+
if let ast::Expr::PathExpr(p) = expr {
177+
if let Some(path) = p.path() {
178+
if let Some(name_ref) = path.as_single_name_ref() {
179+
if let Some(param) = known_generics.iter().find(|gp| {
180+
if let ast::GenericParam::ConstParam(cp) = gp {
181+
cp.name().map_or(false, |n| n.text() == name_ref.text())
182+
} else {
183+
false
184+
}
185+
}) {
186+
generics.push(param);
187+
}
188+
}
189+
}
190+
}
191+
}
192+
},
174193
_ => (),
175194
});
176195
// stable resort to lifetime, type, const

0 commit comments

Comments
 (0)