about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--crates/project-model/src/project_json.rs2
-rw-r--r--crates/rust-analyzer/src/handlers/notification.rs7
2 files changed, 4 insertions, 5 deletions
diff --git a/crates/project-model/src/project_json.rs b/crates/project-model/src/project_json.rs
index 512588cc8f8..54674a6f0f1 100644
--- a/crates/project-model/src/project_json.rs
+++ b/crates/project-model/src/project_json.rs
@@ -74,7 +74,7 @@ pub struct ProjectJson {
 #[derive(Clone, Debug, Eq, PartialEq)]
 pub struct Crate {
     pub(crate) display_name: Option<CrateDisplayName>,
-    pub(crate) root_module: AbsPathBuf,
+    pub root_module: AbsPathBuf,
     pub(crate) edition: Edition,
     pub(crate) version: Option<String>,
     pub(crate) deps: Vec<Dependency>,
diff --git a/crates/rust-analyzer/src/handlers/notification.rs b/crates/rust-analyzer/src/handlers/notification.rs
index b5c4a4f435e..3b232578185 100644
--- a/crates/rust-analyzer/src/handlers/notification.rs
+++ b/crates/rust-analyzer/src/handlers/notification.rs
@@ -296,10 +296,9 @@ fn run_flycheck(state: &mut GlobalState, vfs_path: VfsPath) -> bool {
                         })
                     }
                     project_model::ProjectWorkspace::Json { project, .. } => {
-                        if !project
-                            .crates()
-                            .any(|(c, _)| crate_ids.iter().any(|&crate_id| crate_id == c))
-                        {
+                        if !project.crates().any(|(_, krate)| {
+                            crate_root_paths.contains(&krate.root_module.as_path())
+                        }) {
                             return None;
                         }
                         None