Function rustc_typeck::check::upvar::restrict_precision_for_unsafe[][src]

fn restrict_precision_for_unsafe<'tcx>(
    place: Place<'tcx>,
    curr_mode: UpvarCapture<'tcx>
) -> (Place<'tcx>, UpvarCapture<'tcx>)
Expand description

Truncate place so that an unsafe block isn’t required to capture it.

  • No projections are applied to raw pointers, since these require unsafe blocks. We capture them completely.
  • No projections are applied on top of Union ADTs, since these require unsafe blocks.