Function rustc_hir_analysis::check::upvar::restrict_precision_for_unsafe
source · [−]fn restrict_precision_for_unsafe<'tcx>(
place: Place<'tcx>,
curr_mode: UpvarCapture
) -> (Place<'tcx>, UpvarCapture)
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.