-
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
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
@bors r+ |
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#140208 (Make well-formedness predicates no longer coinductive) - rust-lang#140957 (Add `#[must_use]` to Array::map) - rust-lang#141031 (Async drop fix for dropee from another crate (rust-lang#140858)) - rust-lang#141036 (ci: split the dist-ohos job) - rust-lang#141051 (Remove some unnecessary erases) - rust-lang#141056 (Lowercase git url for rust-lang/enzyme.git) - rust-lang#141059 (HIR: explain in comment why `ExprKind::If` "then" is an `Expr`) - rust-lang#141070 (Do not emit help when shorthand from macro when suggest `?` or `expect`) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#141051 - compiler-errors:less-erase, r=nnethercote Remove some unnecessary erases Some nits I pulled out of rust-lang#140814.
Some nits I pulled out of #140814.