diff --git a/src/solidlsp/language_servers/rust_analyzer.py b/src/solidlsp/language_servers/rust_analyzer.py index b9327044..2c1d21d0 100644 --- a/src/solidlsp/language_servers/rust_analyzer.py +++ b/src/solidlsp/language_servers/rust_analyzer.py @@ -685,6 +685,13 @@ class RustAnalyzer(SolidLanguageServer): } return initialize_params + @override + def _get_published_diagnostics_wait_timeout(self, pull_diagnostics_failed: bool) -> float: + timeout = super()._get_published_diagnostics_wait_timeout(pull_diagnostics_failed) + # Rust diagnostics are often published asynchronously after the pull-diagnostics request, + # so keep a wider fallback wait window across all platforms. + return max(timeout, 4.0) + def _start_server(self) -> None: """ Starts the Rust Analyzer Language Server