Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/eval.rs')
-rw-r--r--crates/hir-ty/src/mir/eval.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/crates/hir-ty/src/mir/eval.rs b/crates/hir-ty/src/mir/eval.rs
index 26a49412e0..f8083e8985 100644
--- a/crates/hir-ty/src/mir/eval.rs
+++ b/crates/hir-ty/src/mir/eval.rs
@@ -388,6 +388,16 @@ impl MirEvalError {
Ok(s) => s.map(|it| it.syntax_node_ptr()),
Err(_) => continue,
},
+ MirSpan::BindingId(b) => {
+ match source_map
+ .patterns_for_binding(*b)
+ .iter()
+ .find_map(|p| source_map.pat_syntax(*p).ok())
+ {
+ Some(s) => s.map(|it| it.syntax_node_ptr()),
+ None => continue,
+ }
+ }
MirSpan::SelfParam => match source_map.self_param_syntax() {
Some(s) => s.map(|it| it.syntax_node_ptr()),
None => continue,