about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorroife <roifewu@gmail.com>2024-12-21 07:00:49 +0800
committerroife <roifewu@gmail.com>2024-12-21 07:00:49 +0800
commit4f754f4fe701d089c934c25b4582917d51b85914 (patch)
tree5ec60ba96f75e7a3a8548e7a74d072d48ed91814 /src
parent2d895a760e74824d8261b49a37e8e9dbebece0f5 (diff)
fix: remove always! check for file_id in runnables
Diffstat (limited to 'src')
-rw-r--r--src/tools/rust-analyzer/crates/ide/src/runnables.rs19
1 files changed, 3 insertions, 16 deletions
diff --git a/src/tools/rust-analyzer/crates/ide/src/runnables.rs b/src/tools/rust-analyzer/crates/ide/src/runnables.rs
index 3bbbd36c1b1..d385e453e21 100644
--- a/src/tools/rust-analyzer/crates/ide/src/runnables.rs
+++ b/src/tools/rust-analyzer/crates/ide/src/runnables.rs
@@ -16,7 +16,7 @@ use ide_db::{
 };
 use itertools::Itertools;
 use span::{Edition, TextSize};
-use stdx::{always, format_to};
+use stdx::format_to;
 use syntax::{
     ast::{self, AstNode},
     SmolStr, SyntaxNode, ToSmolStr,
@@ -130,14 +130,7 @@ pub(crate) fn runnables(db: &RootDatabase, file_id: FileId) -> Vec<Runnable> {
     // In case an expansion creates multiple runnables we want to name them to avoid emitting a bunch of equally named runnables.
     let mut in_macro_expansion = FxHashMap::<hir::HirFileId, Vec<Runnable>>::default();
     let mut add_opt = |runnable: Option<Runnable>, def| {
-        if let Some(runnable) = runnable.filter(|runnable| {
-            always!(
-                runnable.nav.file_id == file_id,
-                "tried adding a runnable pointing to a different file: {:?} for {:?}",
-                runnable.kind,
-                file_id
-            )
-        }) {
+        if let Some(runnable) = runnable.filter(|runnable| runnable.nav.file_id == file_id) {
             if let Some(def) = def {
                 let file_id = match def {
                     Definition::Module(it) => {
@@ -161,13 +154,7 @@ pub(crate) fn runnables(db: &RootDatabase, file_id: FileId) -> Vec<Runnable> {
             Definition::SelfType(impl_) => runnable_impl(&sema, &impl_),
             _ => None,
         };
-        add_opt(
-            runnable
-                .or_else(|| module_def_doctest(sema.db, def))
-                // #[macro_export] mbe macros are declared in the root, while their definition may reside in a different module
-                .filter(|it| it.nav.file_id == file_id),
-            Some(def),
-        );
+        add_opt(runnable.or_else(|| module_def_doctest(sema.db, def)), Some(def));
         if let Definition::SelfType(impl_) = def {
             impl_.items(db).into_iter().for_each(|assoc| {
                 let runnable = match assoc {