Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #12440 - Maan2003:empty-msg-diag, r=jonas-schievink
fix(diagnostic): Don't remove diagnostic with empty message
Use " " as message if it is empty
[discussion on zulip](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer/topic/empty.20diagnostic.20message)

| -rw-r--r-- | crates/rust-analyzer/src/diagnostics/to_proto.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/crates/rust-analyzer/src/diagnostics/to_proto.rs b/crates/rust-analyzer/src/diagnostics/to_proto.rs index aac8e9222d..8f779df18d 100644 --- a/crates/rust-analyzer/src/diagnostics/to_proto.rs +++ b/crates/rust-analyzer/src/diagnostics/to_proto.rs @@ -462,9 +462,10 @@ pub(crate) fn map_rust_diagnostic_to_lsp( message: "original diagnostic".to_string(), }; for sub in &subdiagnostics { - // Filter out empty/non-existent messages, as they greatly confuse VS Code. - if sub.related.message.is_empty() { - continue; + let mut message = sub.related.message.clone(); + // Change empty message to " ", as they greatly confuse VS Code. + if message.is_empty() { + message = String::from(" "); } diagnostics.push(MappedRustDiagnostic { url: sub.related.location.uri.clone(), @@ -475,7 +476,7 @@ pub(crate) fn map_rust_diagnostic_to_lsp( code: code.clone().map(lsp_types::NumberOrString::String), code_description: code_description.clone(), source: Some(source.clone()), - message: sub.related.message.clone(), + message, related_information: Some(vec![back_ref.clone()]), tags: None, // don't apply modifiers again data: None, |