diff options
| author | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-21 16:18:34 +0000 |
|---|---|---|
| committer | Rémy Rakic <remy.rakic+github@gmail.com> | 2025-01-21 16:18:34 +0000 |
| commit | 9bad0daef66d5968969e79428d8bc46b98e2627f (patch) | |
| tree | ddbac708529ca3aac27e28f3cec33f05201a2321 | |
| parent | d9165b2ed6e944ab40d0ea6051c3cfe51568b52e (diff) | |
| download | rust-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.rs | 6 |
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 { |
