Skip to content

Commit 6cf06c1

Browse files
committed
Auto merge of rust-lang#15445 - Veykril:worl-symbols-traits, r=Veykril
fix: Fix `only_types` config filtering out traits from world symbols It is a bit confusing that this apparently did not filter every trait out though... Closes rust-lang/rust-analyzer#15444 Closes rust-lang/rust-analyzer#15200
2 parents 39ebc37 + d6d188f commit 6cf06c1

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

crates/ide-db/src/symbol_index.rs

+2
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ impl Query {
323323
hir::ModuleDef::Adt(..)
324324
| hir::ModuleDef::TypeAlias(..)
325325
| hir::ModuleDef::BuiltinType(..)
326+
| hir::ModuleDef::TraitAlias(..)
327+
| hir::ModuleDef::Trait(..)
326328
)
327329
{
328330
continue;

crates/ide/src/navigation_target.rs

+6-2
Original file line numberDiff line numberDiff line change
@@ -175,8 +175,12 @@ impl TryToNav for FileSymbol {
175175

176176
Some(NavigationTarget {
177177
file_id: full_range.file_id,
178-
name: if self.is_alias { self.def.name(db)?.to_smol_str() } else { self.name.clone() },
179-
alias: if self.is_alias { Some(self.name.clone()) } else { None },
178+
name: self
179+
.is_alias
180+
.then(|| self.def.name(db))
181+
.flatten()
182+
.map_or_else(|| self.name.clone(), |it| it.to_smol_str()),
183+
alias: self.is_alias.then(|| self.name.clone()),
180184
kind: Some(hir::ModuleDefId::from(self.def).into()),
181185
full_range: full_range.range,
182186
focus_range,

0 commit comments

Comments
 (0)