Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/diagnostics.rs')
-rw-r--r--crates/hir/src/diagnostics.rs11
1 files changed, 6 insertions, 5 deletions
diff --git a/crates/hir/src/diagnostics.rs b/crates/hir/src/diagnostics.rs
index fd9ca8c402..401bbd4a59 100644
--- a/crates/hir/src/diagnostics.rs
+++ b/crates/hir/src/diagnostics.rs
@@ -133,7 +133,7 @@ diagnostics![AnyDiagnostic<'db> ->
PrivateField,
RemoveTrailingReturn,
RemoveUnnecessaryElse,
- UnusedMustUse,
+ UnusedMustUse<'db>,
ReplaceFilterMapNextWithFindMap,
TraitImplIncorrectSafety,
TraitImplMissingAssocItems,
@@ -455,8 +455,9 @@ pub struct RemoveUnnecessaryElse {
}
#[derive(Debug)]
-pub struct UnusedMustUse {
+pub struct UnusedMustUse<'db> {
pub expr: InFile<ExprOrPatPtr>,
+ pub message: Option<&'db str>,
}
#[derive(Debug)]
@@ -576,7 +577,7 @@ pub struct UnimplementedTrait<'db> {
impl<'db> AnyDiagnostic<'db> {
pub(crate) fn body_validation_diagnostic(
db: &'db dyn HirDatabase,
- diagnostic: BodyValidationDiagnostic,
+ diagnostic: BodyValidationDiagnostic<'db>,
source_map: &hir_def::expr_store::BodySourceMap,
) -> Option<AnyDiagnostic<'db>> {
match diagnostic {
@@ -697,9 +698,9 @@ impl<'db> AnyDiagnostic<'db> {
);
}
}
- BodyValidationDiagnostic::UnusedMustUse { expr } => {
+ BodyValidationDiagnostic::UnusedMustUse { expr, message } => {
if let Ok(source_ptr) = source_map.expr_syntax(expr) {
- return Some(UnusedMustUse { expr: source_ptr }.into());
+ return Some(UnusedMustUse { expr: source_ptr, message }.into());
}
}
}