Module rustc_mir::shim[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Re-exports

use rustc::hir;
use rustc::hir::def_id::DefId;
use rustc::infer;
use rustc::mir::*;
use rustc::ty;
use rustc::ty::Ty;
use rustc::ty::TyCtxt;
use rustc::ty::GenericParamDefKind;
use rustc::ty::subst::Subst;
use rustc::ty::subst::Substs;
use rustc::ty::query::Providers;
use rustc_data_structures::indexed_vec::IndexVec;
use rustc_data_structures::indexed_vec::Idx;
use rustc_target::spec::abi::Abi;
use syntax::ast;
use syntax_pos::Span;
use std::fmt;
use std::iter;
use transform::add_moves_for_packed_drops;
use transform::add_call_guards;
use transform::remove_noop_landing_pads;
use transform::no_landing_pads;
use transform::simplify;
use util::elaborate_drops;
use util::elaborate_drops::DropElaborator;
use util::elaborate_drops::DropStyle;
use util::elaborate_drops::DropFlagMode;
use util::patch::MirPatch;

Structs

CloneShimBuilder [
Experimental
]
DropShimElaborator [
Experimental
]

Enums

Adjustment [
Experimental
]
CallKind [
Experimental
]

Functions

build_adt_ctor [
Experimental
]
build_call_shim [
Experimental
]

Build a "call" shim for def_id. The shim calls the function specified by call_kind, first adjusting its first argument according to rcvr_adjustment.

build_clone_shim [
Experimental
]

Build a Clone::clone shim for self_ty. Here, def_id is Clone::clone.

build_drop_shim [
Experimental
]
local_decls_for_sig [
Experimental
]
make_shim [
Experimental
]
provide [
Experimental
]
temp_decl [
Experimental
]