fn promote_candidates<'tcx>( body: &mut Body<'tcx>, tcx: TyCtxt<'tcx>, temps: IndexVec<Local, TempState>, candidates: Vec<Candidate>, ) -> IndexVec<Promoted, Body<'tcx>>