-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Remove some unnecessary erases #141051
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Remove some unnecessary erases #141051
Conversation
r? oli-obk |
r? @nnethercote rustbot has assigned @nnethercote. Use |
Some changes occurred to MIR optimizations cc @rust-lang/wg-mir-opt |
(or anyone can review it, not just oli) |
@@ -490,11 +490,7 @@ impl<'a, 'tcx> CastCheck<'tcx> { | |||
&& let Some(from_trait) = fcx.tcx.get_diagnostic_item(sym::From) | |||
{ | |||
let ty = fcx.resolve_vars_if_possible(self.cast_ty); | |||
// Erase regions to avoid panic in `prove_value` when calling |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Comment no longer applies.
@@ -1453,9 +1453,7 @@ pub trait PrettyPrinter<'tcx>: Printer<'tcx> + fmt::Write { | |||
// contain named regions. So we erase and anonymize everything | |||
// here to compare the types modulo regions below. | |||
let proj = cx.tcx().erase_regions(proj); | |||
let proj = cx.tcx().anonymize_bound_vars(proj); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
erase_regions
already anonymizes binders
@@ -32,7 +32,7 @@ impl<'a, 'tcx> MutVisitor<'tcx> for SubTypeChecker<'a, 'tcx> { | |||
let mut rval_ty = rvalue.ty(self.local_decls, self.tcx); | |||
// Not erasing this causes `Free Regions` errors in validator, | |||
// when rval is `ReStatic`. | |||
rval_ty = self.tcx.erase_regions_ty(rval_ty); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this was directly calling the query for some reason, rather than going throuh erase_regions
Some nits I pulled out of #140814.