summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates/ide-diagnostics
diff options
context:
space:
mode:
authorLukas Wirth <lukastw97@gmail.com>2025-02-12 09:24:33 +0100
committerLukas Wirth <lukastw97@gmail.com>2025-02-12 09:24:33 +0100
commit3a041fcc2cc514ef87f29d8aa8300a0f6a2fa0da (patch)
tree96b7c28888e9d98eaec600ef6e38cdaad4958f7c /src/tools/rust-analyzer/crates/ide-diagnostics
parentda4c09937559e8d93cc6499ec8510a3571449061 (diff)
downloadrust-3a041fcc2cc514ef87f29d8aa8300a0f6a2fa0da.tar.gz
rust-3a041fcc2cc514ef87f29d8aa8300a0f6a2fa0da.zip
Propogate error types in mir type projections
Diffstat (limited to 'src/tools/rust-analyzer/crates/ide-diagnostics')
-rw-r--r--src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs
index 67ece566941..d5caf4de336 100644
--- a/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs
+++ b/src/tools/rust-analyzer/crates/ide-diagnostics/src/handlers/unused_variables.rs
@@ -263,4 +263,17 @@ fn main() {
 "#,
         );
     }
+
+    // regression test as we used to panic in this scenario
+    #[test]
+    fn unknown_struct_pattern_param_type() {
+        check_diagnostics(
+            r#"
+struct S { field : u32 }
+fn f(S { field }: error) {
+      // ^^^^^ 💡 warn: unused variable
+}
+"#,
+        );
+    }
 }