Don't filter flychecks by package member status
This commit is contained in:
parent
25391e6d44
commit
d73b0d5fc6
@ -745,25 +745,24 @@ impl GlobalState {
|
|||||||
let workspace_ids =
|
let workspace_ids =
|
||||||
this.workspaces.iter().enumerate().filter(|(_, ws)| match ws {
|
this.workspaces.iter().enumerate().filter(|(_, ws)| match ws {
|
||||||
project_model::ProjectWorkspace::Cargo { cargo, .. } => {
|
project_model::ProjectWorkspace::Cargo { cargo, .. } => {
|
||||||
cargo.packages().filter(|&pkg| cargo[pkg].is_member).any(
|
cargo.packages().any(|pkg| {
|
||||||
|pkg| {
|
cargo[pkg]
|
||||||
cargo[pkg].targets.iter().any(|&it| {
|
.targets
|
||||||
paths.contains(&cargo[it].root.as_path())
|
.iter()
|
||||||
|
.any(|&it| paths.contains(&cargo[it].root.as_path()))
|
||||||
})
|
})
|
||||||
},
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
project_model::ProjectWorkspace::Json { project, .. } => project
|
project_model::ProjectWorkspace::Json { project, .. } => project
|
||||||
.crates()
|
.crates()
|
||||||
.any(|(c, _)| crate_ids.iter().any(|&crate_id| crate_id == c)),
|
.any(|(c, _)| crate_ids.iter().any(|&crate_id| crate_id == c)),
|
||||||
project_model::ProjectWorkspace::DetachedFiles { .. } => false,
|
project_model::ProjectWorkspace::DetachedFiles { .. } => false,
|
||||||
});
|
});
|
||||||
'workspace: for (id, _) in workspace_ids {
|
|
||||||
for flycheck in &this.flycheck {
|
for flycheck in &this.flycheck {
|
||||||
|
for (id, _) in workspace_ids.clone() {
|
||||||
if id == flycheck.id() {
|
if id == flycheck.id() {
|
||||||
updated = true;
|
updated = true;
|
||||||
flycheck.update();
|
flycheck.update();
|
||||||
continue 'workspace;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user