@@ -1712,11 +1712,8 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> {
1712
1712
} ,
1713
1713
// `OpaqueCast`: only transmutes the type, so no moves there.
1714
1714
// `Downcast` : only changes information about a `Place` without moving.
1715
- // `Subtype` : only transmutes the type, so no moves.
1716
1715
// So it's safe to skip these.
1717
- ProjectionElem :: OpaqueCast ( _)
1718
- | ProjectionElem :: Subtype ( _)
1719
- | ProjectionElem :: Downcast ( _, _) => ( ) ,
1716
+ ProjectionElem :: OpaqueCast ( _) | ProjectionElem :: Downcast ( _, _) => ( ) ,
1720
1717
}
1721
1718
1722
1719
place_ty = place_ty. projection_ty ( tcx, elem) ;
@@ -1940,7 +1937,6 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> {
1940
1937
for ( place_base, elem) in place. iter_projections ( ) . rev ( ) {
1941
1938
match elem {
1942
1939
ProjectionElem :: Index ( _/*operand*/ ) |
1943
- ProjectionElem :: Subtype ( _) |
1944
1940
ProjectionElem :: OpaqueCast ( _) |
1945
1941
ProjectionElem :: ConstantIndex { .. } |
1946
1942
// assigning to P[i] requires P to be valid.
@@ -2332,7 +2328,6 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, '_, 'tcx> {
2332
2328
| ProjectionElem :: Index ( ..)
2333
2329
| ProjectionElem :: ConstantIndex { .. }
2334
2330
| ProjectionElem :: Subslice { .. }
2335
- | ProjectionElem :: Subtype ( ..)
2336
2331
| ProjectionElem :: OpaqueCast { .. }
2337
2332
| ProjectionElem :: Downcast ( ..) => {
2338
2333
let upvar_field_projection = self . is_upvar_field_projection ( place) ;
0 commit comments