Remove THIR::ExprKind::SelfRef

ExprKind::SelfRef was used to express accessing `self` in
the desugared Closure/Generator struct when lowering captures in THIR.

Since we handle captures in MIR now, we don't need `ExprKind::Self`.
This commit is contained in:
Aman Arora 2020-11-17 04:54:10 -05:00
parent 7faebe57b2
commit 9f70e782f7
5 changed files with 0 additions and 6 deletions

View File

@ -184,7 +184,6 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
this.lower_closure_capture(block, capture_index, *upvar_id)
}
ExprKind::SelfRef => block.and(PlaceBuilder::from(Local::new(1))),
ExprKind::VarRef { id } => {
let place_builder = if this.is_bound_var_in_guard(id) {
let index = this.var_local_id(id, RefWithinGuard);

View File

@ -250,7 +250,6 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
| ExprKind::Deref { .. }
| ExprKind::Index { .. }
| ExprKind::VarRef { .. }
| ExprKind::SelfRef
| ExprKind::UpvarRef { .. }
| ExprKind::Break { .. }
| ExprKind::Continue { .. }

View File

@ -38,7 +38,6 @@ impl Category {
ExprKind::Field { .. }
| ExprKind::Deref { .. }
| ExprKind::Index { .. }
| ExprKind::SelfRef
| ExprKind::UpvarRef { .. }
| ExprKind::VarRef { .. }
| ExprKind::PlaceTypeAscription { .. }

View File

@ -400,7 +400,6 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
// Avoid creating a temporary
ExprKind::VarRef { .. }
| ExprKind::SelfRef
| ExprKind::UpvarRef { .. }
| ExprKind::PlaceTypeAscription { .. }
| ExprKind::ValueTypeAscription { .. } => {

View File

@ -219,8 +219,6 @@ crate enum ExprKind<'tcx> {
/// HirId of the root variable
var_hir_id: hir::HirId,
},
/// first argument, used for self in a closure
SelfRef,
Borrow {
borrow_kind: BorrowKind,
arg: ExprRef<'tcx>,