diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-08-17 18:18:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-08-17 18:18:21 +0200 |
| commit | 4e6147d956e05f2f28b6fdf0d9d7c18bce603906 (patch) | |
| tree | 63ceeaa02f46b1d34afa6732432d396e44192ee4 | |
| parent | 8a023b31bd408868d4fa6493a657a32ab1b30868 (diff) | |
| parent | 194ade1267f2bb66cb53626679944e195850bdcf (diff) | |
| download | rust-4e6147d956e05f2f28b6fdf0d9d7c18bce603906.tar.gz rust-4e6147d956e05f2f28b6fdf0d9d7c18bce603906.zip | |
Rollup merge of #129196 - Zalathar:ref-id-ref, r=compiler-errors
Remove a useless ref/id/ref round-trip from `pattern_from_hir` This re-lookup of `&hir::Pat` by its ID appears to be an artifact of earlier complexity that has since been removed from the compiler. Merely deleting the let/match results in borrow errors, but sprinkling `'tcx` in the signature allows it to work again, so I suspect that this code's current function is simply to compensate for overly loose lifetimes in the signature. Perhaps it made more sense at a time when HIR lifetimes were not tied to `'tcx`. I spotted this while working on some more experimental changes, which is why I've extracted it into its own PR.
| -rw-r--r-- | compiler/rustc_mir_build/src/thir/cx/mod.rs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/compiler/rustc_mir_build/src/thir/cx/mod.rs b/compiler/rustc_mir_build/src/thir/cx/mod.rs index 6120b1453cf..5b5f97cb514 100644 --- a/compiler/rustc_mir_build/src/thir/cx/mod.rs +++ b/compiler/rustc_mir_build/src/thir/cx/mod.rs @@ -8,7 +8,7 @@ use rustc_hir as hir; use rustc_hir::def::DefKind; use rustc_hir::def_id::{DefId, LocalDefId}; use rustc_hir::lang_items::LangItem; -use rustc_hir::{HirId, Node}; +use rustc_hir::HirId; use rustc_middle::bug; use rustc_middle::middle::region; use rustc_middle::thir::*; @@ -110,11 +110,7 @@ impl<'tcx> Cx<'tcx> { } #[instrument(level = "debug", skip(self))] - fn pattern_from_hir(&mut self, p: &hir::Pat<'_>) -> Box<Pat<'tcx>> { - let p = match self.tcx.hir_node(p.hir_id) { - Node::Pat(p) => p, - node => bug!("pattern became {:?}", node), - }; + fn pattern_from_hir(&mut self, p: &'tcx hir::Pat<'tcx>) -> Box<Pat<'tcx>> { pat_from_hir(self.tcx, self.param_env, self.typeck_results(), p) } |
