{"ast_node_type":"variable","tokens":[{"end":65,"kind":"keyword","start":0,"text":"if"}]}
                    if let ProjectionElem::Field(field, _) = elem
                for (place_base, elem) in second_borrowed_place.iter_projections().rev() {
                        && let Some(union_ty) = union_ty(place_base)