Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_def/src/nameres/collector.rs')
-rw-r--r--crates/hir_def/src/nameres/collector.rs25
1 files changed, 12 insertions, 13 deletions
diff --git a/crates/hir_def/src/nameres/collector.rs b/crates/hir_def/src/nameres/collector.rs
index 209eedb005..b376f9a253 100644
--- a/crates/hir_def/src/nameres/collector.rs
+++ b/crates/hir_def/src/nameres/collector.rs
@@ -384,7 +384,7 @@ impl DefCollector<'_> {
self.unresolved_imports.extend(partial_resolved);
self.resolve_imports();
- let unresolved_imports = std::mem::replace(&mut self.unresolved_imports, Vec::new());
+ let unresolved_imports = std::mem::take(&mut self.unresolved_imports);
// show unresolved imports in completion, etc
for directive in &unresolved_imports {
self.record_resolved_import(directive)
@@ -417,7 +417,7 @@ impl DefCollector<'_> {
fn reseed_with_unresolved_attribute(&mut self) -> ReachedFixedPoint {
cov_mark::hit!(unresolved_attribute_fallback);
- let mut unresolved_macros = std::mem::replace(&mut self.unresolved_macros, Vec::new());
+ let mut unresolved_macros = std::mem::take(&mut self.unresolved_macros);
let pos = unresolved_macros.iter().position(|directive| {
if let MacroDirectiveKind::Attr { ast_id, mod_item, attr } = &directive.kind {
self.skip_attrs.insert(ast_id.ast_id.with_value(*mod_item), attr.id);
@@ -689,7 +689,7 @@ impl DefCollector<'_> {
/// Tries to resolve every currently unresolved import.
fn resolve_imports(&mut self) -> ReachedFixedPoint {
let mut res = ReachedFixedPoint::Yes;
- let imports = std::mem::replace(&mut self.unresolved_imports, Vec::new());
+ let imports = std::mem::take(&mut self.unresolved_imports);
let imports = imports
.into_iter()
.filter_map(|mut directive| {
@@ -1005,7 +1005,7 @@ impl DefCollector<'_> {
}
fn resolve_macros(&mut self) -> ReachedFixedPoint {
- let mut macros = std::mem::replace(&mut self.unresolved_macros, Vec::new());
+ let mut macros = std::mem::take(&mut self.unresolved_macros);
let mut resolved = Vec::new();
let mut res = ReachedFixedPoint::Yes;
macros.retain(|directive| {
@@ -1279,13 +1279,12 @@ impl DefCollector<'_> {
for directive in &self.unresolved_imports {
if let ImportSource::Import { id: import, use_tree } = &directive.import.source {
- match (directive.import.path.segments().first(), &directive.import.path.kind) {
- (Some(krate), PathKind::Plain | PathKind::Abs) => {
- if diagnosed_extern_crates.contains(krate) {
- continue;
- }
+ if let (Some(krate), PathKind::Plain | PathKind::Abs) =
+ (directive.import.path.segments().first(), &directive.import.path.kind)
+ {
+ if diagnosed_extern_crates.contains(krate) {
+ continue;
}
- _ => {}
}
self.def_map.diagnostics.push(DefDiagnostic::unresolved_import(
@@ -1579,13 +1578,13 @@ impl ModCollector<'_, '_> {
{
Ok((file_id, is_mod_rs, mod_dir)) => {
let item_tree = db.file_item_tree(file_id.into());
- if item_tree
+ let is_enabled = item_tree
.top_level_attrs(db, self.def_collector.def_map.krate)
.cfg()
.map_or(true, |cfg| {
self.def_collector.cfg_options.check(&cfg) != Some(false)
- })
- {
+ });
+ if is_enabled {
let module_id = self.push_child_module(
module.name.clone(),
ast_id,