Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/symbol_index.rs')
-rw-r--r--crates/ide-db/src/symbol_index.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/crates/ide-db/src/symbol_index.rs b/crates/ide-db/src/symbol_index.rs
index 3af536dff5..79f89a89a1 100644
--- a/crates/ide-db/src/symbol_index.rs
+++ b/crates/ide-db/src/symbol_index.rs
@@ -252,8 +252,8 @@ impl Hash for SymbolIndex {
impl SymbolIndex {
fn new(mut symbols: Box<[FileSymbol]>) -> SymbolIndex {
fn cmp(lhs: &FileSymbol, rhs: &FileSymbol) -> Ordering {
- let lhs_chars = lhs.name.chars().map(|c| c.to_ascii_lowercase());
- let rhs_chars = rhs.name.chars().map(|c| c.to_ascii_lowercase());
+ let lhs_chars = lhs.name.as_str().chars().map(|c| c.to_ascii_lowercase());
+ let rhs_chars = rhs.name.as_str().chars().map(|c| c.to_ascii_lowercase());
lhs_chars.cmp(rhs_chars)
}
@@ -374,10 +374,11 @@ impl Query {
continue;
}
// Hide symbols that start with `__` unless the query starts with `__`
- if ignore_underscore_prefixed && symbol.name.starts_with("__") {
+ let symbol_name = symbol.name.as_str();
+ if ignore_underscore_prefixed && symbol_name.starts_with("__") {
continue;
}
- if self.mode.check(&self.query, self.case_sensitive, &symbol.name) {
+ if self.mode.check(&self.query, self.case_sensitive, symbol_name) {
cb(symbol);
}
}
@@ -484,7 +485,7 @@ pub(self) use crate::Trait as IsThisJustATrait;
.into_iter()
.map(|module_id| {
let mut symbols = SymbolCollector::collect_module(&db, module_id);
- symbols.sort_by_key(|it| it.name.clone());
+ symbols.sort_by_key(|it| it.name.as_str().to_owned());
(module_id, symbols)
})
.collect();
@@ -511,7 +512,7 @@ struct Duplicate;
.into_iter()
.map(|module_id| {
let mut symbols = SymbolCollector::collect_module(&db, module_id);
- symbols.sort_by_key(|it| it.name.clone());
+ symbols.sort_by_key(|it| it.name.as_str().to_owned());
(module_id, symbols)
})
.collect();