@@ -1695,9 +1695,7 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
16951695 // `Downcast` : only changes information about a `Place` without moving.
16961696 // `Subtype` : only transmutes the type, so no moves.
16971697 // So it's safe to skip these.
1698- ProjectionElem :: OpaqueCast ( _)
1699- | ProjectionElem :: Subtype ( _)
1700- | ProjectionElem :: Downcast ( _, _) => ( ) ,
1698+ ProjectionElem :: OpaqueCast ( _) | ProjectionElem :: Downcast ( _, _) => ( ) ,
17011699 }
17021700
17031701 place_ty = place_ty. projection_ty ( tcx, elem) ;
@@ -1921,7 +1919,6 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
19211919 for ( place_base, elem) in place. iter_projections ( ) . rev ( ) {
19221920 match elem {
19231921 ProjectionElem :: Index ( _/*operand*/ ) |
1924- ProjectionElem :: Subtype ( _) |
19251922 ProjectionElem :: OpaqueCast ( _) |
19261923 ProjectionElem :: ConstantIndex { .. } |
19271924 // assigning to P[i] requires P to be valid.
@@ -2312,7 +2309,6 @@ impl<'cx, 'tcx> MirBorrowckCtxt<'cx, 'tcx> {
23122309 | ProjectionElem :: Index ( ..)
23132310 | ProjectionElem :: ConstantIndex { .. }
23142311 | ProjectionElem :: Subslice { .. }
2315- | ProjectionElem :: Subtype ( ..)
23162312 | ProjectionElem :: OpaqueCast { .. }
23172313 | ProjectionElem :: Downcast ( ..) => {
23182314 let upvar_field_projection = self . is_upvar_field_projection ( place) ;
0 commit comments