Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/imports/insert_use.rs')
-rw-r--r--crates/ide-db/src/imports/insert_use.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/crates/ide-db/src/imports/insert_use.rs b/crates/ide-db/src/imports/insert_use.rs
index 41ce1e5960..9318c3e132 100644
--- a/crates/ide-db/src/imports/insert_use.rs
+++ b/crates/ide-db/src/imports/insert_use.rs
@@ -101,14 +101,12 @@ impl ImportScope {
{
block = b.stmt_list();
}
- if has_attrs
- .attrs()
- .any(|attr| attr.as_simple_call().is_some_and(|(ident, _)| ident == "cfg"))
+ if has_attrs.attrs().any(|attr| matches!(attr.meta(), Some(ast::Meta::CfgMeta(_))))
{
if let Some(b) = block.clone() {
- let current_cfgs = has_attrs.attrs().filter(|attr| {
- attr.as_simple_call().is_some_and(|(ident, _)| ident == "cfg")
- });
+ let current_cfgs = has_attrs
+ .attrs()
+ .filter(|attr| matches!(attr.meta(), Some(ast::Meta::CfgMeta(_))));
let total_cfgs: Vec<_> =
required_cfgs.iter().cloned().chain(current_cfgs).collect();
@@ -118,7 +116,7 @@ impl ImportScope {
if let Some(parent) = parent {
can_merge = parent.children().filter_map(ast::Use::cast).any(|u| {
let u_attrs = u.attrs().filter(|attr| {
- attr.as_simple_call().is_some_and(|(ident, _)| ident == "cfg")
+ matches!(attr.meta(), Some(ast::Meta::CfgMeta(_)))
});
crate::imports::merge_imports::eq_attrs(
u_attrs,
@@ -134,9 +132,11 @@ impl ImportScope {
});
}
}
- required_cfgs.extend(has_attrs.attrs().filter(|attr| {
- attr.as_simple_call().is_some_and(|(ident, _)| ident == "cfg")
- }));
+ required_cfgs.extend(
+ has_attrs
+ .attrs()
+ .filter(|attr| matches!(attr.meta(), Some(ast::Meta::CfgMeta(_)))),
+ );
}
}
}