Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/goto_definition.rs')
-rw-r--r--crates/ide/src/goto_definition.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/crates/ide/src/goto_definition.rs b/crates/ide/src/goto_definition.rs
index 10a26befa4..21471ab2a0 100644
--- a/crates/ide/src/goto_definition.rs
+++ b/crates/ide/src/goto_definition.rs
@@ -77,10 +77,11 @@ pub(crate) fn goto_definition(
.into_iter()
.flat_map(|def| {
if let Definition::ExternCrateDecl(crate_def) = def {
- return vec![crate_def
+ return crate_def
.resolved_crate(db)
- .root_module()
- .to_nav(sema.db)];
+ .map(|it| it.root_module().to_nav(sema.db))
+ .into_iter()
+ .collect();
}
try_filter_trait_item_definition(sema, &def)
.unwrap_or_else(|| def_to_nav(sema.db, def))