@@ -255,7 +255,6 @@ fn place_components_conflict<'tcx>(
255255 | ( ProjectionElem :: Index { .. } , _, _)
256256 | ( ProjectionElem :: ConstantIndex { .. } , _, _)
257257 | ( ProjectionElem :: Subslice { .. } , _, _)
258- | ( ProjectionElem :: OpaqueCast { .. } , _, _)
259258 | ( ProjectionElem :: Downcast { .. } , _, _) => {
260259 // Recursive case. This can still be disjoint on a
261260 // further iteration if this a shallow access and
@@ -323,17 +322,6 @@ fn place_projection_conflict<'tcx>(
323322 debug ! ( "place_element_conflict: DISJOINT-OR-EQ-DEREF" ) ;
324323 Overlap :: EqualOrDisjoint
325324 }
326- ( ProjectionElem :: OpaqueCast ( v1) , ProjectionElem :: OpaqueCast ( v2) ) => {
327- if v1 == v2 {
328- // same type - recur.
329- debug ! ( "place_element_conflict: DISJOINT-OR-EQ-OPAQUE" ) ;
330- Overlap :: EqualOrDisjoint
331- } else {
332- // Different types. Disjoint!
333- debug ! ( "place_element_conflict: DISJOINT-OPAQUE" ) ;
334- Overlap :: Disjoint
335- }
336- }
337325 ( ProjectionElem :: Field ( f1, _) , ProjectionElem :: Field ( f2, _) ) => {
338326 if f1 == f2 {
339327 // same field (e.g., `a.y` vs. `a.y`) - recur.
@@ -537,7 +525,6 @@ fn place_projection_conflict<'tcx>(
537525 | ProjectionElem :: Field ( ..)
538526 | ProjectionElem :: Index ( ..)
539527 | ProjectionElem :: ConstantIndex { .. }
540- | ProjectionElem :: OpaqueCast { .. }
541528 | ProjectionElem :: Subslice { .. }
542529 | ProjectionElem :: Downcast ( ..) ,
543530 _,
0 commit comments