diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2023-02-26 20:48:50 +0000 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2023-04-03 15:59:21 +0000 |
| commit | fea7b59d12ad34f18e03c2c6646cd8971dc2f216 (patch) | |
| tree | 8584b04d04d6dd3c8f3ecb7b79ecc9da158244ba | |
| parent | 17675855094906ba90aca2f119be8fb7afc4d456 (diff) | |
| download | rust-fea7b59d12ad34f18e03c2c6646cd8971dc2f216.tar.gz rust-fea7b59d12ad34f18e03c2c6646cd8971dc2f216.zip | |
Make check_match take a LocalDefId.
| -rw-r--r-- | compiler/rustc_interface/src/passes.rs | 2 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/query/mod.rs | 6 | ||||
| -rw-r--r-- | compiler/rustc_mir_build/src/thir/pattern/check_match.rs | 10 |
3 files changed, 7 insertions, 11 deletions
diff --git a/compiler/rustc_interface/src/passes.rs b/compiler/rustc_interface/src/passes.rs index 413b40ab808..8d4892470ac 100644 --- a/compiler/rustc_interface/src/passes.rs +++ b/compiler/rustc_interface/src/passes.rs @@ -765,7 +765,7 @@ fn analysis(tcx: TyCtxt<'_>, (): ()) -> Result<()> { parallel!( { sess.time("match_checking", || { - tcx.hir().par_body_owners(|def_id| tcx.ensure().check_match(def_id.to_def_id())) + tcx.hir().par_body_owners(|def_id| tcx.ensure().check_match(def_id)) }); }, { diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs index 9203dd59a7e..d31b11f0892 100644 --- a/compiler/rustc_middle/src/query/mod.rs +++ b/compiler/rustc_middle/src/query/mod.rs @@ -1114,9 +1114,9 @@ rustc_queries! { desc { "converting literal to mir constant" } } - query check_match(key: DefId) { - desc { |tcx| "match-checking `{}`", tcx.def_path_str(key) } - cache_on_disk_if { key.is_local() } + query check_match(key: LocalDefId) { + desc { |tcx| "match-checking `{}`", tcx.def_path_str(key.to_def_id()) } + cache_on_disk_if { true } } /// Performs part of the privacy check and computes effective visibilities. 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 2640ca56b00..59a7253ea49 100644 --- a/compiler/rustc_mir_build/src/thir/pattern/check_match.rs +++ b/compiler/rustc_mir_build/src/thir/pattern/check_match.rs @@ -14,7 +14,7 @@ use rustc_errors::{ }; use rustc_hir as hir; use rustc_hir::def::*; -use rustc_hir::def_id::DefId; +use rustc_hir::def_id::LocalDefId; use rustc_hir::intravisit::{self, Visitor}; use rustc_hir::{HirId, Pat}; use rustc_middle::ty::print::with_no_trimmed_paths; @@ -27,12 +27,8 @@ use rustc_session::Session; use rustc_span::source_map::Spanned; use rustc_span::{BytePos, Span}; -pub(crate) fn check_match(tcx: TyCtxt<'_>, def_id: DefId) { - let body_id = match def_id.as_local() { - None => return, - Some(def_id) => tcx.hir().body_owned_by(def_id), - }; - +pub(crate) fn check_match(tcx: TyCtxt<'_>, def_id: LocalDefId) { + let body_id = tcx.hir().body_owned_by(def_id); let pattern_arena = TypedArena::default(); let mut visitor = MatchVisitor { tcx, |
