diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs index c64d557a11..15922dac65 100644 --- a/crates/rust-analyzer/src/main_loop.rs +++ b/crates/rust-analyzer/src/main_loop.rs @@ -426,7 +426,7 @@ impl GlobalState { match task { Task::Response(response) => self.respond(response), // Only retry requests that haven't been cancelled. Otherwise we do unnecessary work. - Task::Retry(req) if self.is_completed(&req) => self.on_request(req), + Task::Retry(req) if !self.is_completed(&req) => self.on_request(req), Task::Retry(_) => (), Task::Diagnostics(diagnostics_per_file) => { for (file_id, diagnostics) in diagnostics_per_file {