Skip to content

Commit 70e93ed

Browse files
committed
Vec -> Box<[_]>
1 parent 241fd2f commit 70e93ed

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

src/tools/rust-analyzer/crates/hir/src/symbols.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ impl<'a> SymbolCollector<'a> {
9292
}
9393
}
9494

95-
pub fn finish(self) -> Vec<FileSymbol> {
95+
pub fn finish(self) -> Box<[FileSymbol]> {
9696
self.symbols.into_iter().collect()
9797
}
9898

99-
pub fn collect_module(db: &dyn HirDatabase, module: Module) -> Vec<FileSymbol> {
99+
pub fn collect_module(db: &dyn HirDatabase, module: Module) -> Box<[FileSymbol]> {
100100
let mut symbol_collector = SymbolCollector::new(db);
101101
symbol_collector.collect(module);
102102
symbol_collector.finish()

src/tools/rust-analyzer/crates/ide-db/src/symbol_index.rs

+4-7
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,13 @@ fn library_symbols(db: &dyn SymbolsDatabase, source_root_id: SourceRootId) -> Ar
136136
// the module or crate indices for those in salsa unless we need to.
137137
.for_each(|module| symbol_collector.collect(module));
138138

139-
let mut symbols = symbol_collector.finish();
140-
symbols.shrink_to_fit();
141-
Arc::new(SymbolIndex::new(symbols))
139+
Arc::new(SymbolIndex::new(symbol_collector.finish()))
142140
}
143141

144142
fn module_symbols(db: &dyn SymbolsDatabase, module: Module) -> Arc<SymbolIndex> {
145143
let _p = tracing::info_span!("module_symbols").entered();
146144

147-
let symbols = SymbolCollector::collect_module(db.upcast(), module);
148-
Arc::new(SymbolIndex::new(symbols))
145+
Arc::new(SymbolIndex::new(SymbolCollector::collect_module(db.upcast(), module)))
149146
}
150147

151148
pub fn crate_symbols(db: &dyn SymbolsDatabase, krate: Crate) -> Box<[Arc<SymbolIndex>]> {
@@ -228,7 +225,7 @@ pub fn world_symbols(db: &RootDatabase, query: Query) -> Vec<FileSymbol> {
228225

229226
#[derive(Default)]
230227
pub struct SymbolIndex {
231-
symbols: Vec<FileSymbol>,
228+
symbols: Box<[FileSymbol]>,
232229
map: fst::Map<Vec<u8>>,
233230
}
234231

@@ -253,7 +250,7 @@ impl Hash for SymbolIndex {
253250
}
254251

255252
impl SymbolIndex {
256-
fn new(mut symbols: Vec<FileSymbol>) -> SymbolIndex {
253+
fn new(mut symbols: Box<[FileSymbol]>) -> SymbolIndex {
257254
fn cmp(lhs: &FileSymbol, rhs: &FileSymbol) -> Ordering {
258255
let lhs_chars = lhs.name.chars().map(|c| c.to_ascii_lowercase());
259256
let rhs_chars = rhs.name.chars().map(|c| c.to_ascii_lowercase());

0 commit comments

Comments
 (0)