rustc_const_eval::interpret::intern

Function intern_const_alloc_recursive

source
pub fn intern_const_alloc_recursive<'tcx, M: CompileTimeMachine<'tcx, MemoryKind>>(
    ecx: &mut InterpCx<'tcx, M>,
    intern_kind: InternKind,
    ret: &MPlaceTy<'tcx>,
) -> Result<(), InternResult>
Expand description

Intern ret and everything it references.

This cannot raise an interpreter error. Doing so is left to validation, which tracks where in the value we are and thus can show much better error messages.

For InternKind::Static the root allocation will not be interned, but must be handled by the caller.