[−][src]Struct rustc_mir::shim::CloneShimBuilder

pub(in shim) struct CloneShimBuilder<'tcx> {
    tcx: TyCtxt<'tcx>,
    def_id: DefId,
    local_decls: IndexVec<Local, LocalDecl<'tcx>>,
    blocks: IndexVec<BasicBlock, BasicBlockData<'tcx>>,
    span: Span,
    sig: FnSig<'tcx>,
}

Fields

tcx: TyCtxt<'tcx>def_id: DefIdlocal_decls: IndexVec<Local, LocalDecl<'tcx>>blocks: IndexVec<BasicBlock, BasicBlockData<'tcx>>span: Spansig: FnSig<'tcx>

Implementations

impl<'tcx> CloneShimBuilder<'tcx>[src]

pub(in shim) fn new(
    tcx: TyCtxt<'tcx>,
    def_id: DefId,
    self_ty: Ty<'tcx>
) -> Self
[src]

pub(in shim) fn into_mir(
    self
) -> Body<'tcx>
[src]

pub(in shim) fn source_info(
    &self
) -> SourceInfo
[src]

pub(in shim) fn block(
    &mut self,
    statements: Vec<Statement<'tcx>>,
    kind: TerminatorKind<'tcx>,
    is_cleanup: bool
) -> BasicBlock
[src]

pub(in shim) fn block_index_offset(
    &mut self,
    offset: usize
) -> BasicBlock
[src]

Gives the index of an upcoming BasicBlock, with an offset. offset=0 will give you the index of the next BasicBlock, offset=1 will give the index of the next-to-next block, offset=-1 will give you the index of the last-created block

pub(in shim) fn make_statement(
    &self,
    kind: StatementKind<'tcx>
) -> Statement<'tcx>
[src]

pub(in shim) fn copy_shim(
    &mut self
)
[src]

pub(in shim) fn make_place(
    &mut self,
    mutability: Mutability,
    ty: Ty<'tcx>
) -> Place<'tcx>
[src]

pub(in shim) fn make_clone_call(
    &mut self,
    dest: Place<'tcx>,
    src: Place<'tcx>,
    ty: Ty<'tcx>,
    next: BasicBlock,
    cleanup: BasicBlock
)
[src]

pub(in shim) fn loop_header(
    &mut self,
    beg: Place<'tcx>,
    end: Place<'tcx>,
    loop_body: BasicBlock,
    loop_end: BasicBlock,
    is_cleanup: bool
)
[src]

pub(in shim) fn make_usize(
    &self,
    value: u64
) -> Box<Constant<'tcx>>
[src]

pub(in shim) fn array_shim(
    &mut self,
    dest: Place<'tcx>,
    src: Place<'tcx>,
    ty: Ty<'tcx>,
    len: u64
)
[src]

pub(in shim) fn tuple_like_shim<I>(
    &mut self,
    dest: Place<'tcx>,
    src: Place<'tcx>,
    tys: I
) where
    I: Iterator<Item = Ty<'tcx>>, 
[src]

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for CloneShimBuilder<'tcx>

impl<'tcx> !Send for CloneShimBuilder<'tcx>

impl<'tcx> !Sync for CloneShimBuilder<'tcx>

impl<'tcx> Unpin for CloneShimBuilder<'tcx>

impl<'tcx> !UnwindSafe for CloneShimBuilder<'tcx>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]