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.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/hir/src/diagnostics.rs b/crates/hir/src/diagnostics.rs index 6b07834231..d482135812 100644 --- a/crates/hir/src/diagnostics.rs +++ b/crates/hir/src/diagnostics.rs @@ -132,6 +132,7 @@ diagnostics![AnyDiagnostic<'db> -> MissingMatchArms, MissingUnsafe, MovedOutOfRef<'db>, + MutableRefBinding, NeedMut, NonExhaustiveLet, NonExhaustiveRecordExpr, @@ -640,6 +641,11 @@ pub struct UnimplementedTrait<'db> { pub root_trait_predicate: Option<crate::TraitPredicate<'db>>, } +#[derive(Debug)] +pub struct MutableRefBinding { + pub pat: InFile<ExprOrPatPtr>, +} + impl<'db> AnyDiagnostic<'db> { pub(crate) fn body_validation_diagnostic( db: &'db dyn HirDatabase, @@ -1081,6 +1087,10 @@ impl<'db> AnyDiagnostic<'db> { }; ExplicitDropMethodUse { expr_or_path }.into() } + InferenceDiagnostic::MutableRefBinding { pat } => { + let pat = pat_syntax(*pat)?.map(Into::into); + MutableRefBinding { pat }.into() + } }) } |