pub(super) fn allow_two_phase_borrow<'a, 'tcx, 'gcx: 'tcx>(
    tcx: &TyCtxt<'a, 'gcx, 'tcx>,
    kind: BorrowKind
) -> bool {
    tcx.two_phase_borrows()
        && (kind.allows_two_phase_borrow()
            || tcx.sess.opts.debugging_opts.two_phase_beyond_autoref)
}
/// Returns true if the borrow represented by `kind` is
/// allowed to be split into separate Reservation and
/// Activation phases.
Returns true if the borrow represented by `kind` is
allowed to be split into separate Reservation and
Activation phases.
Returns true if the borrow represented by ` kind ` is allowed to be split into separate Reservation and Activation phases .
pub(super) fn allow_two_phase_borrow<'a, 'tcx, 'gcx: 'tcx>(
    tcx: &TyCtxt<'a, 'gcx, 'tcx>,
    kind: BorrowKind
) -> bool {
    tcx.two_phase_borrows()
        && (kind.allows_two_phase_borrow()
            || tcx.sess.opts.debugging_opts.two_phase_beyond_autoref)
}
pub ( super ) fn allow_two_phase_borrow < ' a , ' tcx , ' gcx : ' tcx > ( tcx : & TyCtxt < ' a , ' gcx , ' tcx > , kind : BorrowKind ) -> bool { tcx . two_phase_borrows ( ) && ( kind . allows_two_phase_borrow ( ) || tcx . sess . opts . debugging_opts . two_phase_beyond_autoref ) }
Returns true if the borrow represented by `kind` is
allowed to be split into separate Reservation and
Activation phases.
Returns true if the borrow represented by ` kind ` is allowed to be split into separate Reservation and Activation phases .
tcx
&TyCtxt<'a, 'gcx, 'tcx>
kind
BorrowKind
tcx
&TyCtxt<'a, 'gcx, 'tcx>
kind
BorrowKind