Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/handlers/mutability_errors.rs')
-rw-r--r--crates/ide-diagnostics/src/handlers/mutability_errors.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/crates/ide-diagnostics/src/handlers/mutability_errors.rs b/crates/ide-diagnostics/src/handlers/mutability_errors.rs
index ee096a100a..1875111492 100644
--- a/crates/ide-diagnostics/src/handlers/mutability_errors.rs
+++ b/crates/ide-diagnostics/src/handlers/mutability_errors.rs
@@ -1228,4 +1228,20 @@ fn foo(mut foo: Foo) {
"#,
);
}
+
+ #[test]
+ fn regression_15670() {
+ check_diagnostics(
+ r#"
+//- minicore: fn
+
+pub struct A {}
+pub unsafe fn foo(a: *mut A) {
+ let mut b = || -> *mut A { &mut *a };
+ //^^^^^ 💡 warn: variable does not need to be mutable
+ let _ = b();
+}
+"#,
+ );
+ }
}