about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNicholas Nethercote <n.nethercote@gmail.com>2024-02-20 14:12:50 +1100
committerNicholas Nethercote <n.nethercote@gmail.com>2024-03-06 14:19:01 +1100
commitb7d58eef4b9e6bd1aa454c3100815fb5d5481a7b (patch)
tree570a3a9bc69a8f1d0462886dfb6bc28f7fe5f3aa /src
parentd6023948275b3cef0b8320864595d24ad959c0e3 (diff)
downloadrust-b7d58eef4b9e6bd1aa454c3100815fb5d5481a7b.tar.gz
rust-b7d58eef4b9e6bd1aa454c3100815fb5d5481a7b.zip
Rewrite the `untranslatable_diagnostic` lint.
Currently it only checks calls to functions marked with
`#[rustc_lint_diagnostics]`. This commit changes it to check calls to
any function with an `impl Into<{D,Subd}iagMessage>` parameter. This
greatly improves its coverage and doesn't rely on people remembering to
add `#[rustc_lint_diagnostics]`.

The commit also adds `#[allow(rustc::untranslatable_diagnostic)`]
attributes to places that need it that are caught by the improved lint.
These places that might be easy to convert to translatable diagnostics.

Finally, it also:
- Expands and corrects some comments.
- Does some minor formatting improvements.
- Adds missing `DecorateLint` cases to
  `tests/ui-fulldeps/internal-lints/diagnostics.rs`.
Diffstat (limited to 'src')
-rw-r--r--src/tools/rustfmt/src/parse/session.rs1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/tools/rustfmt/src/parse/session.rs b/src/tools/rustfmt/src/parse/session.rs
index 11af9860513..cf8120e9b09 100644
--- a/src/tools/rustfmt/src/parse/session.rs
+++ b/src/tools/rustfmt/src/parse/session.rs
@@ -383,6 +383,7 @@ mod tests {
         }
 
         fn build_diagnostic(level: DiagnosticLevel, span: Option<MultiSpan>) -> DiagInner {
+            #[allow(rustc::untranslatable_diagnostic)] // no translation needed for empty string
             let mut diag = DiagInner::new(level, "");
             diag.messages.clear();
             if let Some(span) = span {