File tree Expand file tree Collapse file tree 4 files changed +7
-11
lines changed Expand file tree Collapse file tree 4 files changed +7
-11
lines changed Original file line number Diff line number Diff line change @@ -389,6 +389,7 @@ tcx_lifetime! {
389
389
rustc_middle:: ty:: layout:: FnAbiError ,
390
390
rustc_middle:: ty:: layout:: LayoutError ,
391
391
rustc_middle:: ty:: ParamEnv ,
392
+ rustc_middle:: ty:: TypingEnv ,
392
393
rustc_middle:: ty:: Predicate ,
393
394
rustc_middle:: ty:: SymbolName ,
394
395
rustc_middle:: ty:: TraitRef ,
Original file line number Diff line number Diff line change @@ -1566,7 +1566,7 @@ rustc_queries! {
1566
1566
/// Like `param_env`, but returns the `ParamEnv` after all opaque types have been
1567
1567
/// replaced with their hidden type. This is used in the old trait solver
1568
1568
/// when in `PostAnalysis` mode and should not be called directly.
1569
- query param_env_normalized_for_post_analysis ( def_id: DefId ) -> ty:: ParamEnv <' tcx> {
1569
+ query typing_env_normalized_for_post_analysis ( def_id: DefId ) -> ty:: TypingEnv <' tcx> {
1570
1570
desc { |tcx| "computing revealed normalized predicates of `{}`" , tcx. def_path_str( def_id) }
1571
1571
}
1572
1572
Original file line number Diff line number Diff line change @@ -1116,10 +1116,7 @@ impl<'tcx> TypingEnv<'tcx> {
1116
1116
}
1117
1117
1118
1118
pub fn post_analysis ( tcx : TyCtxt < ' tcx > , def_id : impl IntoQueryParam < DefId > ) -> TypingEnv < ' tcx > {
1119
- TypingEnv {
1120
- typing_mode : TypingMode :: PostAnalysis ,
1121
- param_env : tcx. param_env_normalized_for_post_analysis ( def_id) ,
1122
- }
1119
+ tcx. typing_env_normalized_for_post_analysis ( def_id)
1123
1120
}
1124
1121
1125
1122
/// Modify the `typing_mode` to `PostAnalysis` and eagerly reveal all
@@ -1133,7 +1130,7 @@ impl<'tcx> TypingEnv<'tcx> {
1133
1130
// No need to reveal opaques with the new solver enabled,
1134
1131
// since we have lazy norm.
1135
1132
let param_env = if tcx. next_trait_solver_globally ( ) {
1136
- ParamEnv :: new ( param_env. caller_bounds ( ) )
1133
+ param_env
1137
1134
} else {
1138
1135
ParamEnv :: new ( tcx. reveal_opaque_types_in_bounds ( param_env. caller_bounds ( ) ) )
1139
1136
} ;
Original file line number Diff line number Diff line change @@ -255,10 +255,8 @@ impl<'tcx> TypeVisitor<TyCtxt<'tcx>> for ImplTraitInTraitFinder<'_, 'tcx> {
255
255
}
256
256
}
257
257
258
- fn param_env_normalized_for_post_analysis ( tcx : TyCtxt < ' _ > , def_id : DefId ) -> ty:: ParamEnv < ' _ > {
259
- // This is a bit ugly but the easiest way to avoid code duplication.
260
- let typing_env = ty:: TypingEnv :: non_body_analysis ( tcx, def_id) ;
261
- typing_env. with_post_analysis_normalized ( tcx) . param_env
258
+ fn typing_env_normalized_for_post_analysis ( tcx : TyCtxt < ' _ > , def_id : DefId ) -> ty:: TypingEnv < ' _ > {
259
+ ty:: TypingEnv :: non_body_analysis ( tcx, def_id) . with_post_analysis_normalized ( tcx)
262
260
}
263
261
264
262
/// Check if a function is async.
@@ -374,7 +372,7 @@ pub(crate) fn provide(providers: &mut Providers) {
374
372
asyncness,
375
373
adt_sized_constraint,
376
374
param_env,
377
- param_env_normalized_for_post_analysis ,
375
+ typing_env_normalized_for_post_analysis ,
378
376
defaultness,
379
377
unsizing_params_for_adt,
380
378
impl_self_is_guaranteed_unsized,
You can’t perform that action at this time.
0 commit comments