}
fn run(&mut self, task_send: &Sender<CheckTask>, cmd_recv: &Receiver<CheckCommand>) {
+ // If we rerun the thread, we need to discard the previous check results first
+ self.clean_previous_results(task_send);
+
loop {
select! {
recv(&cmd_recv) -> cmd => match cmd {
}
}
+ fn clean_previous_results(&self, task_send: &Sender<CheckTask>) {
+ task_send.send(CheckTask::ClearDiagnostics).unwrap();
+ task_send
+ .send(CheckTask::Status(WorkDoneProgress::End(WorkDoneProgressEnd { message: None })))
+ .unwrap();
+ }
+
fn should_recheck(&mut self) -> bool {
if let Some(_last_update_req) = &self.last_update_req {
// We currently only request an update on save, as we need up to