Function rustc_hir_typeck::upvar::restrict_precision_for_unsafe
source · fn restrict_precision_for_unsafe(
place: Place<'_>,
curr_mode: UpvarCapture,
) -> (Place<'_>, 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.