about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRémy Rakic <remy.rakic+github@gmail.com>2025-01-21 16:18:34 +0000
committerRémy Rakic <remy.rakic+github@gmail.com>2025-01-21 16:18:34 +0000
commit9bad0daef66d5968969e79428d8bc46b98e2627f (patch)
treeddbac708529ca3aac27e28f3cec33f05201a2321
parentd9165b2ed6e944ab40d0ea6051c3cfe51568b52e (diff)
downloadrust-9bad0daef66d5968969e79428d8bc46b98e2627f.tar.gz
rust-9bad0daef66d5968969e79428d8bc46b98e2627f.zip
add fixme in typoed const pattern lint
-rw-r--r--compiler/rustc_mir_build/src/thir/pattern/check_match.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_mir_build/src/thir/pattern/check_match.rs b/compiler/rustc_mir_build/src/thir/pattern/check_match.rs
index 66310867200..b5b7b54a1cc 100644
--- a/compiler/rustc_mir_build/src/thir/pattern/check_match.rs
+++ b/compiler/rustc_mir_build/src/thir/pattern/check_match.rs
@@ -1086,6 +1086,12 @@ fn find_fallback_pattern_typo<'tcx>(
                 let vis = cx.tcx.visibility(item.owner_id);
                 if vis.is_accessible_from(parent, cx.tcx) {
                     accessible.push(item_name);
+                    // FIXME: the line below from PR #135310 is a workaround for the ICE in issue
+                    // #135289, where a macro in a dependency can create unreachable patterns in the
+                    // current crate. Path trimming expects diagnostics for a typoed const, but no
+                    // diagnostics are emitted and we ICE. See
+                    // `tests/ui/resolve/const-with-typo-in-pattern-binding-ice-135289.rs` for a
+                    // test that reproduces the ICE if we don't use `with_no_trimmed_paths!`.
                     let path = with_no_trimmed_paths!(cx.tcx.def_path_str(item.owner_id));
                     accessible_path.push(path);
                 } else if name == item_name {