[][src]Trait rustc::middle::expr_use_visitor::Delegate

pub trait Delegate<'tcx> {
    fn consume(
        &mut self,
        consume_id: HirId,
        consume_span: Span,
        cmt: &cmt_<'tcx>,
        mode: ConsumeMode
    );
fn matched_pat(
        &mut self,
        matched_pat: &Pat,
        cmt: &cmt_<'tcx>,
        mode: MatchMode
    );
fn consume_pat(
        &mut self,
        consume_pat: &Pat,
        cmt: &cmt_<'tcx>,
        mode: ConsumeMode
    );
fn borrow(
        &mut self,
        borrow_id: HirId,
        borrow_span: Span,
        cmt: &cmt_<'tcx>,
        loan_region: Region<'tcx>,
        bk: BorrowKind,
        loan_cause: LoanCause
    );
fn decl_without_init(&mut self, id: HirId, span: Span);
fn mutate(
        &mut self,
        assignment_id: HirId,
        assignment_span: Span,
        assignee_cmt: &cmt_<'tcx>,
        mode: MutateMode
    ); fn nested_body(&mut self, _body_id: BodyId) { ... } }
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

This trait defines the callbacks you can expect to receive when employing the ExprUseVisitor.

Required methods

fn consume(
    &mut self,
    consume_id: HirId,
    consume_span: Span,
    cmt: &cmt_<'tcx>,
    mode: ConsumeMode
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn matched_pat(&mut self, matched_pat: &Pat, cmt: &cmt_<'tcx>, mode: MatchMode)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn consume_pat(
    &mut self,
    consume_pat: &Pat,
    cmt: &cmt_<'tcx>,
    mode: ConsumeMode
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn borrow(
    &mut self,
    borrow_id: HirId,
    borrow_span: Span,
    cmt: &cmt_<'tcx>,
    loan_region: Region<'tcx>,
    bk: BorrowKind,
    loan_cause: LoanCause
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn decl_without_init(&mut self, id: HirId, span: Span)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

fn mutate(
    &mut self,
    assignment_id: HirId,
    assignment_span: Span,
    assignee_cmt: &cmt_<'tcx>,
    mode: MutateMode
)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Loading content...

Provided methods

fn nested_body(&mut self, _body_id: BodyId)

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Loading content...

Implementors

Loading content...