Unnamed repository; edit this file 'description' to name the repository.
Rollup merge of #121382 - nnethercote:rework-untranslatable_diagnostic-lint, r=davidtwco
Rework `untranslatable_diagnostic` lint Currently it only checks calls to functions marked with `#[rustc_lint_diagnostics]`. This PR changes it to check calls to any function with an `impl Into<{D,Subd}iagnosticMessage>` parameter. This greatly improves its coverage and doesn't rely on people remembering to add `#[rustc_lint_diagnostics]`. It also lets us add `#[rustc_lint_diagnostics]` to a number of functions that don't have an `impl Into<{D,Subd}iagnosticMessage>`, such as `Diag::span`. r? ``@davidtwco``
Matthias Krüger 2024-03-07
parent adae314 · parent 89f5cf6 · commit 8b0c347
-rw-r--r--crates/hir-ty/src/layout.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/hir-ty/src/layout.rs b/crates/hir-ty/src/layout.rs
index be1c8d9094..a1be601808 100644
--- a/crates/hir-ty/src/layout.rs
+++ b/crates/hir-ty/src/layout.rs
@@ -1,5 +1,6 @@
//! Compute the binary representation of a type
+use std::borrow::Cow;
use std::fmt;
use base_db::salsa::Cycle;
@@ -114,8 +115,8 @@ struct LayoutCx<'a> {
impl<'a> LayoutCalculator for LayoutCx<'a> {
type TargetDataLayoutRef = &'a TargetDataLayout;
- fn delayed_bug(&self, txt: String) {
- never!("{}", txt);
+ fn delayed_bug(&self, txt: impl Into<Cow<'static, str>>) {
+ never!("{}", txt.into());
}
fn current_data_layout(&self) -> &'a TargetDataLayout {