Skip to main content

Module shim

Module shim 

Source

Re-exportsΒ§

use std::assert_matches; πŸ”’
use std::fmt; πŸ”’
use std::iter; πŸ”’
use rustc_abi::ExternAbi; πŸ”’
use rustc_abi::FIRST_VARIANT; πŸ”’
use rustc_abi::FieldIdx; πŸ”’
use rustc_abi::VariantIdx; πŸ”’
use rustc_attr_ir::lang_items::LangItem; πŸ”’
use rustc_hir as hir; πŸ”’
use rustc_hir::def_id::DefId; πŸ”’
use rustc_index::Idx; πŸ”’
use rustc_index::IndexVec; πŸ”’
use rustc_middle::mir::visit::MutVisitor; πŸ”’
use rustc_middle::mir::visit::PlaceContext; πŸ”’
use rustc_middle::query::Providers; πŸ”’
use rustc_middle::ty; πŸ”’
use rustc_middle::ty::CoroutineArgs; πŸ”’
use rustc_middle::ty::CoroutineArgsExt; πŸ”’
use rustc_middle::ty::EarlyBinder; πŸ”’
use rustc_middle::ty::GenericArgs; πŸ”’
use rustc_middle::ty::Ty; πŸ”’
use rustc_middle::ty::TyCtxt; πŸ”’
use rustc_middle::ty::Unnormalized; πŸ”’
use rustc_span::DUMMY_SP; πŸ”’
use rustc_span::Span; πŸ”’
use rustc_span::Spanned; πŸ”’
use rustc_span::bug; πŸ”’
use rustc_span::dummy_spanned; πŸ”’
use rustc_span::span_bug; πŸ”’
use tracing::debug; πŸ”’
use tracing::instrument; πŸ”’
use tracing::instrument; πŸ”’
use crate::deref_separator::deref_finder; πŸ”’
use crate::elaborate_drop::DropElaborator; πŸ”’
use crate::elaborate_drop::DropFlagMode; πŸ”’
use crate::elaborate_drop::DropStyle; πŸ”’
use crate::elaborate_drop::Unwind; πŸ”’
use crate::elaborate_drop::elaborate_drop; πŸ”’
use crate::patch::MirPatch; πŸ”’
use crate::abort_unwinding_calls; πŸ”’
use crate::add_call_guards; πŸ”’
use crate::add_moves_for_packed_drops; πŸ”’
use crate::inline; πŸ”’
use crate::instsimplify; πŸ”’
use crate::mentioned_items; πŸ”’
use crate::pass_manager as pm; πŸ”’
use crate::remove_noop_landing_pads; πŸ”’
use crate::run_optimization_passes; πŸ”’
use crate::simplify; πŸ”’
use rustc_middle::mir::*; πŸ”’

ModulesΒ§

async_destructor_ctor πŸ”’

StructsΒ§

CloneShimBuilder πŸ”’
DropShimElaborator πŸ”’

EnumsΒ§

Adjustment πŸ”’
CallKind πŸ”’
DerefSource πŸ”’

FunctionsΒ§

build_adt_ctor πŸ”’
build_call_shim πŸ”’
Builds a β€œcall” shim for instance. The shim calls the function specified by call_kind, first adjusting its first argument according to rcvr_adjustment.
build_clone_shim πŸ”’
Builds a Clone::clone shim for self_ty. Here, def_id is Clone::clone.
build_construct_coroutine_by_move_shim πŸ”’
build_drop_shim
Builds the drop glue for the provided type. The def_id is that of core::ptr::drop_glue.
build_fn_ptr_as_ptr_shim πŸ”’
build_fn_ptr_from_ptr_shim πŸ”’
build_thread_local_shim πŸ”’
local_decls_for_sig πŸ”’
make_shim πŸ”’
new_body πŸ”’
provide πŸ”’