Skip to content

Commit 36542fc

Browse files
committed
waddup gamers, today we're gonna mess up some source code
1 parent 56c6a2f commit 36542fc

File tree

211 files changed

+1764
-1305
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

211 files changed

+1764
-1305
lines changed

compiler/rustc_borrowck/src/diagnostics/conflict_errors.rs

+8-3
Original file line numberDiff line numberDiff line change
@@ -3828,11 +3828,16 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
38283828
if tcx.is_diagnostic_item(sym::deref_method, method_did) {
38293829
let deref_target =
38303830
tcx.get_diagnostic_item(sym::deref_target).and_then(|deref_target| {
3831-
Instance::try_resolve(tcx, self.param_env, deref_target, method_args)
3832-
.transpose()
3831+
Instance::try_resolve(
3832+
tcx,
3833+
self.infcx.typing_env(self.param_env),
3834+
deref_target,
3835+
method_args,
3836+
)
3837+
.transpose()
38333838
});
38343839
if let Some(Ok(instance)) = deref_target {
3835-
let deref_target_ty = instance.ty(tcx, self.param_env);
3840+
let deref_target_ty = instance.ty(tcx, self.infcx.typing_env(self.param_env));
38363841
err.note(format!("borrow occurs due to deref coercion to `{deref_target_ty}`"));
38373842
err.span_note(tcx.def_span(instance.def_id()), "deref defined here");
38383843
}

compiler/rustc_borrowck/src/diagnostics/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -864,7 +864,7 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
864864

865865
let kind = call_kind(
866866
self.infcx.tcx,
867-
self.param_env,
867+
self.infcx.typing_env(self.param_env),
868868
method_did,
869869
method_args,
870870
*fn_span,

compiler/rustc_borrowck/src/diagnostics/region_errors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -952,7 +952,7 @@ impl<'infcx, 'tcx> MirBorrowckCtxt<'_, 'infcx, 'tcx> {
952952

953953
if let Ok(Some(instance)) = ty::Instance::try_resolve(
954954
tcx,
955-
self.param_env,
955+
self.infcx.typing_env(self.param_env),
956956
*fn_did,
957957
self.infcx.resolve_vars_if_possible(args),
958958
) {

compiler/rustc_borrowck/src/type_check/mod.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -1582,7 +1582,9 @@ impl<'a, 'tcx> TypeChecker<'a, 'tcx> {
15821582
// The signature in this call can reference region variables,
15831583
// so erase them before calling a query.
15841584
let output_ty = self.tcx().erase_regions(sig.output());
1585-
if !output_ty.is_privately_uninhabited(self.tcx(), self.param_env) {
1585+
if !output_ty
1586+
.is_privately_uninhabited(self.tcx(), self.infcx.typing_env(self.param_env))
1587+
{
15861588
span_mirbug!(self, term, "call to converging function {:?} w/o dest", sig);
15871589
}
15881590
}

compiler/rustc_codegen_cranelift/src/abi/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ pub(crate) fn codegen_terminator_call<'tcx>(
376376
let instance = if let ty::FnDef(def_id, fn_args) = *func.layout().ty.kind() {
377377
let instance = ty::Instance::expect_resolve(
378378
fx.tcx,
379-
ty::ParamEnv::reveal_all(),
379+
ty::TypingEnv::fully_monomorphized(),
380380
def_id,
381381
fn_args,
382382
source_info.span,

compiler/rustc_codegen_cranelift/src/base.rs

+1
Original file line numberDiff line numberDiff line change
@@ -666,6 +666,7 @@ fn codegen_stmt<'tcx>(
666666
let func_ref = fx.get_function_ref(
667667
Instance::resolve_for_fn_ptr(
668668
fx.tcx,
669+
ty::TypingMode::PostAnalysis,
669670
ParamEnv::reveal_all(),
670671
def_id,
671672
args,

compiler/rustc_codegen_cranelift/src/constant.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ pub(crate) fn eval_mir_constant<'tcx>(
7878
let cv = fx.monomorphize(constant.const_);
7979
// This cannot fail because we checked all required_consts in advance.
8080
let val = cv
81-
.eval(fx.tcx, ty::ParamEnv::reveal_all(), constant.span)
81+
.eval(fx.tcx, ty::TypingMode::PostAnalysis, ty::ParamEnv::reveal_all(), constant.span)
8282
.expect("erroneous constant missed by mono item collection");
8383
(val, cv.ty())
8484
}

compiler/rustc_codegen_cranelift/src/inline_asm.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ pub(crate) fn codegen_inline_asm_terminator<'tcx>(
9292
if let ty::FnDef(def_id, args) = *const_.ty().kind() {
9393
let instance = ty::Instance::resolve_for_fn_ptr(
9494
fx.tcx,
95+
ty::TypingMode::PostAnalysis,
9596
ty::ParamEnv::reveal_all(),
9697
def_id,
9798
args,
@@ -231,7 +232,7 @@ pub(crate) fn codegen_naked_asm<'tcx>(
231232
ty::EarlyBinder::bind(value.const_),
232233
);
233234
let const_value = cv
234-
.eval(tcx, ty::ParamEnv::reveal_all(), value.span)
235+
.eval(tcx, ty::TypingMode::PostAnalysis, ty::ParamEnv::reveal_all(), value.span)
235236
.expect("erroneous constant missed by mono item collection");
236237

237238
let value = rustc_codegen_ssa::common::asm_const_to_str(
@@ -256,6 +257,7 @@ pub(crate) fn codegen_naked_asm<'tcx>(
256257
if let ty::FnDef(def_id, args) = *const_.ty().kind() {
257258
let instance = ty::Instance::resolve_for_fn_ptr(
258259
tcx,
260+
ty::TypingMode::PostAnalysis,
259261
ty::ParamEnv::reveal_all(),
260262
def_id,
261263
args,

compiler/rustc_codegen_cranelift/src/main_shim.rs

+2
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ pub(crate) fn maybe_create_entry_wrapper(
113113
.unwrap();
114114
let report = Instance::expect_resolve(
115115
tcx,
116+
ty::TypingMode::PostAnalysis,
116117
ParamEnv::reveal_all(),
117118
report.def_id,
118119
tcx.mk_args(&[GenericArg::from(main_ret_ty)]),
@@ -139,6 +140,7 @@ pub(crate) fn maybe_create_entry_wrapper(
139140
let start_def_id = tcx.require_lang_item(LangItem::Start, None);
140141
let start_instance = Instance::expect_resolve(
141142
tcx,
143+
ty::TypingMode::PostAnalysis,
142144
ParamEnv::reveal_all(),
143145
start_def_id,
144146
tcx.mk_args(&[main_ret_ty.into()]),

compiler/rustc_codegen_cranelift/src/unsize.rs

+5-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,11 @@ pub(crate) fn unsized_info<'tcx>(
2222
target: Ty<'tcx>,
2323
old_info: Option<Value>,
2424
) -> Value {
25-
let (source, target) =
26-
fx.tcx.struct_lockstep_tails_for_codegen(source, target, ParamEnv::reveal_all());
25+
let (source, target) = fx.tcx.struct_lockstep_tails_for_codegen(
26+
source,
27+
target,
28+
ty::TypingEnv::fully_monomorphized(),
29+
);
2730
match (&source.kind(), &target.kind()) {
2831
(&ty::Array(_, len), &ty::Slice(_)) => fx.bcx.ins().iconst(
2932
fx.pointer_type,

compiler/rustc_codegen_gcc/src/builder.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use rustc_data_structures::fx::FxHashSet;
2424
use rustc_middle::bug;
2525
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrs;
2626
use rustc_middle::ty::layout::{
27-
FnAbiError, FnAbiOfHelpers, FnAbiRequest, HasParamEnv, HasTyCtxt, LayoutError, LayoutOfHelpers,
27+
FnAbiError, FnAbiOfHelpers, FnAbiRequest, HasTyCtxt, HasTypingEnv, LayoutError, LayoutOfHelpers,
2828
};
2929
use rustc_middle::ty::{Instance, ParamEnv, Ty, TyCtxt};
3030
use rustc_span::Span;
@@ -2319,7 +2319,7 @@ impl<'a, 'gcc, 'tcx> StaticBuilderMethods for Builder<'a, 'gcc, 'tcx> {
23192319
}
23202320
}
23212321

2322-
impl<'tcx> HasParamEnv<'tcx> for Builder<'_, '_, 'tcx> {
2322+
impl<'tcx> HasTypingEnv<'tcx> for Builder<'_, '_, 'tcx> {
23232323
fn param_env(&self) -> ParamEnv<'tcx> {
23242324
self.cx.param_env()
23252325
}

compiler/rustc_codegen_gcc/src/context.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use rustc_data_structures::fx::{FxHashMap, FxHashSet};
1111
use rustc_middle::mir::mono::CodegenUnit;
1212
use rustc_middle::span_bug;
1313
use rustc_middle::ty::layout::{
14-
FnAbiError, FnAbiOf, FnAbiOfHelpers, FnAbiRequest, HasParamEnv, HasTyCtxt, LayoutError,
14+
FnAbiError, FnAbiOf, FnAbiOfHelpers, FnAbiRequest, HasTyCtxt, HasTypingEnv, LayoutError,
1515
LayoutOfHelpers,
1616
};
1717
use rustc_middle::ty::{self, Instance, ParamEnv, PolyExistentialTraitRef, Ty, TyCtxt};
@@ -459,6 +459,7 @@ impl<'gcc, 'tcx> MiscCodegenMethods<'tcx> for CodegenCx<'gcc, 'tcx> {
459459
Some(def_id) if !wants_msvc_seh(self.sess()) => {
460460
let instance = ty::Instance::expect_resolve(
461461
tcx,
462+
ty::TypingMode::PostAnalysis,
462463
ty::ParamEnv::reveal_all(),
463464
def_id,
464465
ty::List::empty(),
@@ -583,7 +584,7 @@ impl<'gcc, 'tcx> FnAbiOfHelpers<'tcx> for CodegenCx<'gcc, 'tcx> {
583584
}
584585
}
585586

586-
impl<'tcx, 'gcc> HasParamEnv<'tcx> for CodegenCx<'gcc, 'tcx> {
587+
impl<'tcx, 'gcc> HasTypingEnv<'tcx> for CodegenCx<'gcc, 'tcx> {
587588
fn param_env(&self) -> ParamEnv<'tcx> {
588589
ParamEnv::reveal_all()
589590
}

compiler/rustc_codegen_llvm/src/builder.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ use rustc_data_structures::small_c_str::SmallCStr;
1414
use rustc_hir::def_id::DefId;
1515
use rustc_middle::middle::codegen_fn_attrs::CodegenFnAttrs;
1616
use rustc_middle::ty::layout::{
17-
FnAbiError, FnAbiOfHelpers, FnAbiRequest, HasParamEnv, LayoutError, LayoutOfHelpers,
17+
FnAbiError, FnAbiOfHelpers, FnAbiRequest, HasTypingEnv, LayoutError, LayoutOfHelpers,
1818
TyAndLayout,
1919
};
2020
use rustc_middle::ty::{self, Instance, Ty, TyCtxt};
@@ -81,9 +81,9 @@ impl<'tcx> ty::layout::HasTyCtxt<'tcx> for Builder<'_, '_, 'tcx> {
8181
}
8282
}
8383

84-
impl<'tcx> ty::layout::HasParamEnv<'tcx> for Builder<'_, '_, 'tcx> {
85-
fn param_env(&self) -> ty::ParamEnv<'tcx> {
86-
self.cx.param_env()
84+
impl<'tcx> ty::layout::HasTypingEnv<'tcx> for Builder<'_, '_, 'tcx> {
85+
fn typing_env(&self) -> ty::TypingEnv<'tcx> {
86+
self.cx.typing_env()
8787
}
8888
}
8989

@@ -472,7 +472,7 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
472472
#[instrument(level = "trace", skip(self))]
473473
fn load_operand(&mut self, place: PlaceRef<'tcx, &'ll Value>) -> OperandRef<'tcx, &'ll Value> {
474474
if place.layout.is_unsized() {
475-
let tail = self.tcx.struct_tail_for_codegen(place.layout.ty, self.param_env());
475+
let tail = self.tcx.struct_tail_for_codegen(place.layout.ty, self.typing_env());
476476
if matches!(tail.kind(), ty::Foreign(..)) {
477477
// Unsized locals and, at least conceptually, even unsized arguments must be copied
478478
// around, which requires dynamically determining their size. Therefore, we cannot

compiler/rustc_codegen_llvm/src/callee.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ pub(crate) fn get_fn<'ll, 'tcx>(cx: &CodegenCx<'ll, 'tcx>, instance: Instance<'t
3131
debug!(
3232
"get_fn({:?}: {:?}) => {}",
3333
instance,
34-
instance.ty(cx.tcx(), ty::ParamEnv::reveal_all()),
34+
instance.ty(cx.tcx(), ty::TypingEnv::fully_monomorphized()),
3535
sym
3636
);
3737

compiler/rustc_codegen_llvm/src/consts.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ impl<'ll> CodegenCx<'ll, '_> {
250250
let llty = if nested {
251251
self.type_i8()
252252
} else {
253-
let ty = instance.ty(self.tcx, ty::ParamEnv::reveal_all());
253+
let ty = instance.ty(self.tcx, ty::TypingEnv::fully_monomorphized());
254254
trace!(?ty);
255255
self.layout_of(ty).llvm_type(self)
256256
};

compiler/rustc_codegen_llvm/src/context.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use rustc_hir::def_id::DefId;
1515
use rustc_middle::middle::codegen_fn_attrs::PatchableFunctionEntry;
1616
use rustc_middle::mir::mono::CodegenUnit;
1717
use rustc_middle::ty::layout::{
18-
FnAbiError, FnAbiOfHelpers, FnAbiRequest, HasParamEnv, LayoutError, LayoutOfHelpers,
18+
FnAbiError, FnAbiOfHelpers, FnAbiRequest, HasTypingEnv, LayoutError, LayoutOfHelpers,
1919
};
2020
use rustc_middle::ty::{self, Instance, Ty, TyCtxt};
2121
use rustc_middle::{bug, span_bug};
@@ -643,7 +643,7 @@ impl<'ll, 'tcx> MiscCodegenMethods<'tcx> for CodegenCx<'ll, 'tcx> {
643643
let llfn = match tcx.lang_items().eh_personality() {
644644
Some(def_id) if name.is_none() => self.get_fn_addr(ty::Instance::expect_resolve(
645645
tcx,
646-
ty::ParamEnv::reveal_all(),
646+
ty::TypingEnv::fully_monomorphized(),
647647
def_id,
648648
ty::List::empty(),
649649
DUMMY_SP,
@@ -1147,9 +1147,9 @@ impl<'tcx> ty::layout::HasTyCtxt<'tcx> for CodegenCx<'_, 'tcx> {
11471147
}
11481148
}
11491149

1150-
impl<'tcx, 'll> HasParamEnv<'tcx> for CodegenCx<'ll, 'tcx> {
1151-
fn param_env(&self) -> ty::ParamEnv<'tcx> {
1152-
ty::ParamEnv::reveal_all()
1150+
impl<'tcx, 'll> HasTypingEnv<'tcx> for CodegenCx<'ll, 'tcx> {
1151+
fn typing_env(&self) -> ty::TypingEnv<'tcx> {
1152+
ty::TypingEnv::fully_monomorphized()
11531153
}
11541154
}
11551155

compiler/rustc_codegen_llvm/src/debuginfo/create_scope_map.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ fn make_mir_scope<'ll, 'tcx>(
9494
// if this is moved to `rustc_codegen_ssa::mir::debuginfo`.
9595
let callee = cx.tcx.instantiate_and_normalize_erasing_regions(
9696
instance.args,
97-
ty::ParamEnv::reveal_all(),
97+
ty::TypingEnv::fully_monomorphized(),
9898
ty::EarlyBinder::bind(callee),
9999
);
100100
debug_context.inlined_function_scopes.entry(callee).or_insert_with(|| {

compiler/rustc_codegen_llvm/src/debuginfo/metadata.rs

+11-9
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ use rustc_hir::def_id::{DefId, LOCAL_CRATE};
1313
use rustc_middle::bug;
1414
use rustc_middle::ty::layout::{LayoutOf, TyAndLayout};
1515
use rustc_middle::ty::{
16-
self, AdtKind, CoroutineArgsExt, Instance, ParamEnv, PolyExistentialTraitRef, Ty, TyCtxt,
17-
Visibility,
16+
self, AdtKind, CoroutineArgsExt, Instance, PolyExistentialTraitRef, Ty, TyCtxt, Visibility,
1817
};
1918
use rustc_session::config::{self, DebugInfo, Lto};
2019
use rustc_span::symbol::Symbol;
@@ -301,9 +300,10 @@ fn build_subroutine_type_di_node<'ll, 'tcx>(
301300
.insert(unique_type_id, recursion_marker_type_di_node(cx));
302301

303302
let fn_ty = unique_type_id.expect_ty();
304-
let signature = cx
305-
.tcx
306-
.normalize_erasing_late_bound_regions(ty::ParamEnv::reveal_all(), fn_ty.fn_sig(cx.tcx));
303+
let signature = cx.tcx.normalize_erasing_late_bound_regions(
304+
ty::TypingEnv::fully_monomorphized(),
305+
fn_ty.fn_sig(cx.tcx),
306+
);
307307

308308
let signature_di_nodes: SmallVec<_> = iter::once(
309309
// return type
@@ -1110,7 +1110,7 @@ fn build_upvar_field_di_nodes<'ll, 'tcx>(
11101110
};
11111111

11121112
assert!(
1113-
up_var_tys.iter().all(|t| t == cx.tcx.normalize_erasing_regions(ParamEnv::reveal_all(), t))
1113+
up_var_tys.iter().all(|t| t == cx.tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), t))
11141114
);
11151115

11161116
let capture_names = cx.tcx.closure_saved_names_of_captured_variables(def_id);
@@ -1272,8 +1272,9 @@ fn build_generic_type_param_di_nodes<'ll, 'tcx>(
12721272
let template_params: SmallVec<_> = iter::zip(args, names)
12731273
.filter_map(|(kind, name)| {
12741274
kind.as_type().map(|ty| {
1275-
let actual_type =
1276-
cx.tcx.normalize_erasing_regions(ParamEnv::reveal_all(), ty);
1275+
let actual_type = cx
1276+
.tcx
1277+
.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), ty);
12771278
let actual_type_di_node = type_di_node(cx, actual_type);
12781279
let name = name.as_str();
12791280
unsafe {
@@ -1341,7 +1342,8 @@ pub(crate) fn build_global_var_di_node<'ll>(
13411342
if nested {
13421343
return;
13431344
}
1344-
let variable_type = Instance::mono(cx.tcx, def_id).ty(cx.tcx, ty::ParamEnv::reveal_all());
1345+
let variable_type =
1346+
Instance::mono(cx.tcx, def_id).ty(cx.tcx, ty::TypingEnv::fully_monomorphized());
13451347
let type_di_node = type_di_node(cx, variable_type);
13461348
let var_name = tcx.item_name(def_id);
13471349
let var_name = var_name.as_str();

compiler/rustc_codegen_llvm/src/debuginfo/metadata/type_map.rs

+19-7
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use rustc_data_structures::fx::FxHashMap;
66
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
77
use rustc_macros::HashStable;
88
use rustc_middle::bug;
9-
use rustc_middle::ty::{ParamEnv, PolyExistentialTraitRef, Ty, TyCtxt};
9+
use rustc_middle::ty::{self, PolyExistentialTraitRef, Ty, TyCtxt};
1010

1111
use super::{SmallVec, UNKNOWN_LINE_NUMBER, unknown_file_metadata};
1212
use crate::common::{AsCCharPtr, CodegenCx};
@@ -49,12 +49,15 @@ pub(super) enum UniqueTypeId<'tcx> {
4949

5050
impl<'tcx> UniqueTypeId<'tcx> {
5151
pub(crate) fn for_ty(tcx: TyCtxt<'tcx>, t: Ty<'tcx>) -> Self {
52-
assert_eq!(t, tcx.normalize_erasing_regions(ParamEnv::reveal_all(), t));
52+
assert_eq!(t, tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), t));
5353
UniqueTypeId::Ty(t, private::HiddenZst)
5454
}
5555

5656
pub(crate) fn for_enum_variant_part(tcx: TyCtxt<'tcx>, enum_ty: Ty<'tcx>) -> Self {
57-
assert_eq!(enum_ty, tcx.normalize_erasing_regions(ParamEnv::reveal_all(), enum_ty));
57+
assert_eq!(
58+
enum_ty,
59+
tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), enum_ty)
60+
);
5861
UniqueTypeId::VariantPart(enum_ty, private::HiddenZst)
5962
}
6063

@@ -63,7 +66,10 @@ impl<'tcx> UniqueTypeId<'tcx> {
6366
enum_ty: Ty<'tcx>,
6467
variant_idx: VariantIdx,
6568
) -> Self {
66-
assert_eq!(enum_ty, tcx.normalize_erasing_regions(ParamEnv::reveal_all(), enum_ty));
69+
assert_eq!(
70+
enum_ty,
71+
tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), enum_ty)
72+
);
6773
UniqueTypeId::VariantStructType(enum_ty, variant_idx, private::HiddenZst)
6874
}
6975

@@ -72,7 +78,10 @@ impl<'tcx> UniqueTypeId<'tcx> {
7278
enum_ty: Ty<'tcx>,
7379
variant_idx: VariantIdx,
7480
) -> Self {
75-
assert_eq!(enum_ty, tcx.normalize_erasing_regions(ParamEnv::reveal_all(), enum_ty));
81+
assert_eq!(
82+
enum_ty,
83+
tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), enum_ty)
84+
);
7685
UniqueTypeId::VariantStructTypeCppLikeWrapper(enum_ty, variant_idx, private::HiddenZst)
7786
}
7887

@@ -81,10 +90,13 @@ impl<'tcx> UniqueTypeId<'tcx> {
8190
self_type: Ty<'tcx>,
8291
implemented_trait: Option<PolyExistentialTraitRef<'tcx>>,
8392
) -> Self {
84-
assert_eq!(self_type, tcx.normalize_erasing_regions(ParamEnv::reveal_all(), self_type));
93+
assert_eq!(
94+
self_type,
95+
tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), self_type)
96+
);
8597
assert_eq!(
8698
implemented_trait,
87-
tcx.normalize_erasing_regions(ParamEnv::reveal_all(), implemented_trait)
99+
tcx.normalize_erasing_regions(ty::TypingEnv::fully_monomorphized(), implemented_trait)
88100
);
89101
UniqueTypeId::VTableTy(self_type, implemented_trait, private::HiddenZst)
90102
}

0 commit comments

Comments
 (0)