Trait rustc::middle::expr_use_visitor::Delegate
[−]
[src]
pub trait Delegate<'tcx> {
fn consume(
&mut self,
consume_id: NodeId,
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: NodeId,
borrow_span: Span,
cmt: cmt<'tcx>,
loan_region: Region<'tcx>,
bk: BorrowKind,
loan_cause: LoanCause
);
fn decl_without_init(&mut self, id: NodeId, span: Span);
fn mutate(
&mut self,
assignment_id: NodeId,
assignment_span: Span,
assignee_cmt: cmt<'tcx>,
mode: MutateMode
);
}🔬 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?
This trait defines the callbacks you can expect to receive when employing the ExprUseVisitor.
Required Methods
fn consume(
&mut self,
consume_id: NodeId,
consume_span: Span,
cmt: cmt<'tcx>,
mode: ConsumeMode
)
&mut self,
consume_id: NodeId,
consume_span: Span,
cmt: cmt<'tcx>,
mode: ConsumeMode
)
🔬 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?
fn matched_pat(&mut self, matched_pat: &Pat, cmt: cmt<'tcx>, mode: MatchMode)
🔬 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?
fn consume_pat(&mut self, consume_pat: &Pat, cmt: cmt<'tcx>, mode: ConsumeMode)
🔬 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?
fn borrow(
&mut self,
borrow_id: NodeId,
borrow_span: Span,
cmt: cmt<'tcx>,
loan_region: Region<'tcx>,
bk: BorrowKind,
loan_cause: LoanCause
)
&mut self,
borrow_id: NodeId,
borrow_span: Span,
cmt: cmt<'tcx>,
loan_region: Region<'tcx>,
bk: BorrowKind,
loan_cause: LoanCause
)
🔬 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?
fn decl_without_init(&mut self, id: NodeId, span: Span)
🔬 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?
fn mutate(
&mut self,
assignment_id: NodeId,
assignment_span: Span,
assignee_cmt: cmt<'tcx>,
mode: MutateMode
)
&mut self,
assignment_id: NodeId,
assignment_span: Span,
assignee_cmt: cmt<'tcx>,
mode: MutateMode
)
🔬 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?