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/rustc_middle/src | |
| parent | 8250eef6857c19acb1b9db003ce918b33583835f (diff) | |
| download | rust-399ab40dbd9f3bca72f589feefbf5bf1bcacf778.tar.gz rust-399ab40dbd9f3bca72f589feefbf5bf1bcacf778.zip | |
get rid of normalize_generic_arg... queries
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/query/mod.rs | 21 | ||||
| -rw-r--r-- | compiler/rustc_middle/src/ty/normalize_erasing_regions.rs | 9 |
2 files changed, 7 insertions, 23 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)) } } |
