diff options
| author | b-naber <bn263@gmx.de> | 2021-12-10 17:31:40 +0100 |
|---|---|---|
| committer | b-naber <bn263@gmx.de> | 2021-12-13 23:05:25 +0100 |
| commit | 399ab40dbd9f3bca72f589feefbf5bf1bcacf778 (patch) | |
| tree | 83dcb60f129e0c96c9300999c60d236c42babe8c /compiler | |
| parent | 8250eef6857c19acb1b9db003ce918b33583835f (diff) | |
| download | rust-399ab40dbd9f3bca72f589feefbf5bf1bcacf778.tar.gz rust-399ab40dbd9f3bca72f589feefbf5bf1bcacf778.zip | |
get rid of normalize_generic_arg... queries
Diffstat (limited to 'compiler')
| -rw-r--r-- | compiler/rustc_middle/src/query/mod.rs | 21 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/ty/normalize_erasing_regions.rs | 9 | ||||
| -rw-r--r-- | compiler/rustc_traits/src/normalize_erasing_regions.rs | 20 |
3 files changed, 9 insertions, 41 deletions
diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs index 58f584d65d5..78e33544655 100644 --- a/compiler/rustc_middle/src/query/mod.rs +++ b/compiler/rustc_middle/src/query/mod.rs @@ -1658,27 +1658,6 @@ rustc_queries! { remap_env_constness } - // FIXME: Implement `normalize_generic_arg_after_erasing_regions` and - // `normalize_mir_const_after_erasing_regions` in terms of - // `try_normalize_generic_arg_after_erasing_regions` and - // `try_normalize_mir_const_after_erasing_regions`, respectively. - - /// Do not call this query directly: invoke `normalize_erasing_regions` instead. - query normalize_generic_arg_after_erasing_regions( - goal: ParamEnvAnd<'tcx, GenericArg<'tcx>> - ) -> GenericArg<'tcx> { - desc { "normalizing `{}`", goal.value } - remap_env_constness - } - - /// Do not call this query directly: invoke `normalize_erasing_regions` instead. - query normalize_mir_const_after_erasing_regions( - goal: ParamEnvAnd<'tcx, mir::ConstantKind<'tcx>> - ) -> mir::ConstantKind<'tcx> { - desc { "normalizing `{}`", goal.value } - remap_env_constness - } - /// Do not call this query directly: invoke `try_normalize_erasing_regions` instead. query try_normalize_generic_arg_after_erasing_regions( goal: ParamEnvAnd<'tcx, GenericArg<'tcx>> diff --git a/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs b/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs index c472d4a5a4d..312093b4f88 100644 --- a/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs +++ b/compiler/rustc_middle/src/ty/normalize_erasing_regions.rs @@ -176,7 +176,10 @@ impl<'tcx> NormalizeAfterErasingRegionsFolder<'tcx> { let arg = self.param_env.and(arg); debug!(?arg); - self.tcx.normalize_generic_arg_after_erasing_regions(arg) + self.tcx.try_normalize_generic_arg_after_erasing_regions(arg).unwrap_or_else(|_| bug!( + "Failed to normalize {:?}, maybe try to call `try_normalize_erasing_regions` instead", + arg.value + )) } } @@ -197,7 +200,9 @@ impl TypeFolder<'tcx> for NormalizeAfterErasingRegionsFolder<'tcx> { fn fold_mir_const(&mut self, c: mir::ConstantKind<'tcx>) -> mir::ConstantKind<'tcx> { // FIXME: This *probably* needs canonicalization too! let arg = self.param_env.and(c); - self.tcx.normalize_mir_const_after_erasing_regions(arg) + self.tcx + .try_normalize_mir_const_after_erasing_regions(arg) + .unwrap_or_else(|_| bug!("failed to normalize {:?}", c)) } } diff --git a/compiler/rustc_traits/src/normalize_erasing_regions.rs b/compiler/rustc_traits/src/normalize_erasing_regions.rs index f7d1ebed7d7..87530cf9961 100644 --- a/compiler/rustc_traits/src/normalize_erasing_regions.rs +++ b/compiler/rustc_traits/src/normalize_erasing_regions.rs @@ -8,30 +8,14 @@ use std::sync::atomic::Ordering; crate fn provide(p: &mut Providers) { *p = Providers { - normalize_generic_arg_after_erasing_regions: |tcx, goal| { - debug!("normalize_generic_arg_after_erasing_regions(goal={:#?})", goal); + try_normalize_generic_arg_after_erasing_regions: |tcx, goal| { + debug!("try_normalize_generic_arg_after_erasing_regions(goal={:#?}", goal); tcx.sess .perf_stats .normalize_generic_arg_after_erasing_regions .fetch_add(1, Ordering::Relaxed); - let (param_env, goal) = goal.into_parts(); - tcx.try_normalize_erasing_regions(param_env, goal).unwrap_or_else(|_| bug!( - "Failed to normalize {:?}, maybe try to call `try_normalize_erasing_regions` instead", - goal - )) - }, - normalize_mir_const_after_erasing_regions: |tcx, goal| { - let (param_env, goal) = goal.into_parts(); - tcx.try_normalize_erasing_regions(param_env, goal).unwrap_or_else(|_| bug!( - "Failed to normalize {:?}, maybe try to call `try_normalize_erasing_regions` instead", - goal - )) - }, - try_normalize_generic_arg_after_erasing_regions: |tcx, goal| { - debug!("try_normalize_generic_arg_after_erasing_regions(goal={:#?}", goal); - try_normalize_after_erasing_regions(tcx, goal) }, try_normalize_mir_const_after_erasing_regions: |tcx, goal| { |
