Skip to content

Commit 292ecd5

Browse files
Remove some unnecessary erases
1 parent e964cca commit 292ecd5

File tree

3 files changed

+1
-7
lines changed

3 files changed

+1
-7
lines changed

compiler/rustc_hir_typeck/src/cast.rs

-4
Original file line numberDiff line numberDiff line change
@@ -490,11 +490,7 @@ impl<'a, 'tcx> CastCheck<'tcx> {
490490
&& let Some(from_trait) = fcx.tcx.get_diagnostic_item(sym::From)
491491
{
492492
let ty = fcx.resolve_vars_if_possible(self.cast_ty);
493-
// Erase regions to avoid panic in `prove_value` when calling
494-
// `type_implements_trait`.
495-
let ty = fcx.tcx.erase_regions(ty);
496493
let expr_ty = fcx.resolve_vars_if_possible(self.expr_ty);
497-
let expr_ty = fcx.tcx.erase_regions(expr_ty);
498494
if fcx
499495
.infcx
500496
.type_implements_trait(from_trait, [ty, expr_ty], fcx.param_env)

compiler/rustc_middle/src/ty/print/pretty.rs

-2
Original file line numberDiff line numberDiff line change
@@ -1453,9 +1453,7 @@ pub trait PrettyPrinter<'tcx>: Printer<'tcx> + fmt::Write {
14531453
// contain named regions. So we erase and anonymize everything
14541454
// here to compare the types modulo regions below.
14551455
let proj = cx.tcx().erase_regions(proj);
1456-
let proj = cx.tcx().anonymize_bound_vars(proj);
14571456
let super_proj = cx.tcx().erase_regions(super_proj);
1458-
let super_proj = cx.tcx().anonymize_bound_vars(super_proj);
14591457

14601458
proj == super_proj
14611459
});

compiler/rustc_mir_transform/src/add_subtyping_projections.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ impl<'a, 'tcx> MutVisitor<'tcx> for SubTypeChecker<'a, 'tcx> {
3232
let mut rval_ty = rvalue.ty(self.local_decls, self.tcx);
3333
// Not erasing this causes `Free Regions` errors in validator,
3434
// when rval is `ReStatic`.
35-
rval_ty = self.tcx.erase_regions_ty(rval_ty);
35+
rval_ty = self.tcx.erase_regions(rval_ty);
3636
place_ty = self.tcx.erase_regions(place_ty);
3737
if place_ty != rval_ty {
3838
let temp = self

0 commit comments

Comments
 (0)